Ich habe ein Problem, wenn ich eine Verbindung zum Server, es verbindet sich ordnungsgemäß und der Code im Thread läuft perfekt, das Problem ist, dass es scheint, als ob ich keine Nachricht oder an mindestens selbst.data wird nicht aktualisiert, ich habe versucht, mit print ("") zu überprüfen, und es sieht so aus, als ob die while-Schleife nach dem Start des Threads vom Code nicht erreicht wird. Hier ist mein Code:Multithread-Client in Python
class Client:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def __init__(self, address):
self.sock.connect((address, 10000))
self.playerID = PID
self.data = [0, 0, 0, 0, 0]
iThread = threading.Thread(target=self.game(self.data))
iThread.daemon = True
iThread.start()
while True:
data = self.sock.recv(2048)
datas = pickle.loads(data)
for i in range(0, len(self.data)):
self.data[i]= datas[i]
if not data:
break
def game(self, data):
morecode...
Gibt 'Spiel' irgendwas zurück? – Vovanrock2002
Hallo, nein, es sendet nur Nachrichten an den Server und aktualisiert eine Liste – acid
Es scheint, dass Sie 'self.game (self.data)' aufrufen, wenn Sie das 'Thread' erstellen, anstatt es vom Thread aufrufen zu lassen. – quamrana