def send(self, text): try: if not self.is_ack(text): self.starttime = time.time() self.conn.send(coding.encode(text)) print('send from ', self.sock.getsockname()[1]) except: return
def send(self, text): try: if not self.is_ack(text): self.starttime = time.time() self.sock.send(coding.encode(text)) except: # the other peer's socket closed return
def run(self): print('p2p chat available') while True: conn, addr = self.sock.accept() name = coding.decode(conn.recv(1024)) # start a TCP peer connection for that client tcppeer = Peer() conn.send(coding.encode(str(tcppeer.getport()))) self.tcppeers[name] = tcppeer chat_thread = threading.Thread(target=tcppeer.start) chat_thread.daemon = True chat_thread.start() conn.close() #switch the active dest to the recently connected one self.active_dest = name
def init_request(self): self.sock.connect((self.destip, self.destport)) self.sock.send(coding.encode(self.name)) self.destport = int(coding.decode(self.sock.recv(1024))) self.sock.close()