def communicate(self, index): print "Connected to ", index; conn = self.connections[index]; data = conn.recv(256); if not data: return; data = eval(data); time.sleep(1); conn.send(repr(((self.data), ()))); while True: if self.run[index]: self.run[index] = 0; conn = self.connections[index]; data = None; try: data = conn.recv(256); except: break; if not data: break; data = eval(data); if not data[0]: self.ships[index].set_keys(data[1], data[2], data[3], data[4], data[5]); else: self.ships[index].set_mouse((data[1], data[2]), data[3]); shots = Shot.net_pack(self.queueShots[index]); self.queueShots[index] = list(); #shots = list(); #while len(self.queueShots) > 1: # shots.append(self.queueShots.pop()); conn.send(repr((self.data, shots))); print "Client disconnected"; self.connections[index].close(); self.remove_player(index);