def receive(self): self.buff = '' self.msg_buff = '' while self.isRunning: try: data = self.s.recv(MAX_RECV_SIZE) except Exception, e: print(self.host, self.port, e) raise e if not data: time.sleep(0.01) continue self.buff += data while self.isRunning: packet = Packet.sniff(self.buff) if packet is None: break # Slice buffer self.buff = self.buff[packet.size():] # Append text data self.msg_buff += packet.body while self.isRunning: message = Message.sniff(self.msg_buff) if message is None: break # Slice message buffer self.msg_buff = self.msg_buff[( message.size() + 1):] # +1 means to skip '\0' in the end yield message
def receive(self): self.buff = '' self.msg_buff = '' while True: data = self.s.recv(MAX_RECV_SIZE) if not data: time.sleep(0.1) continue self.buff += data while True: packet = Packet.sniff(self.buff) if packet is None: break # Slice buffer self.buff = self.buff[packet.size():] # Append text data self.msg_buff += packet.body while True: message = Message.sniff(self.msg_buff) if message is None: break # Slice message buffer self.msg_buff = self.msg_buff[( message.size() + 1):] # +1 means to skip '\0' in the end yield message
def receive(self): self.buff = '' self.msg_buff = '' while True: data = self.s.recv(MAX_RECV_SIZE) if not data: time.sleep(0.01) continue self.buff += data while True: packet = Packet.sniff(self.buff) if packet is None: break # Slice buffer self.buff = self.buff[packet.size():] # Append text data self.msg_buff += packet.body while True: message = Message.sniff(self.msg_buff) if message is None: break # Slice message buffer self.msg_buff = self.msg_buff[(message.size() + 1):] # +1 means to skip '\0' in the end yield message