Code: Alles auswählen
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.bind((ip, port))
self.sock.listen(1)
while True:
self.conn, client_address = self.sock.accept()
data = self.conn.recv(size=2)
Logausgaben:
Code: Alles auswählen
4293 DEBUG dwload_server 343 WRITE 256:
4293 DEBUG dwload_server 346 hex: $55 $01 ... $30 $00
4293 INFO dwload_server 199 Calculated checksum: $3cd5 dez: 15573
4293 CRITICAL dwload_server 201 (60, 213)
4293 DEBUG dwload_server 332 READ 2:
4295 ERROR dwload_server 335 Receive 1 Bytes, but 2 are expected!
4295 DEBUG dwload_server 339 hex: $3c
4295 DEBUG dwload_server 343 WRITE 1:
4295 DEBUG dwload_server 346 hex: $00
4295 DEBUG dwload_server 212 *** block send.
4295 DEBUG dwload_server 332 READ 1:
4295 DEBUG dwload_server 339 hex: $d5
Zeile 1 -> self.conn.sendall(data) # sende 256 Bytes
Zeile 5 -> data = self.conn.recv(size=2) # Ich erwarte hier 2 Bytes
Zeile 8 -> self.conn.sendall(0x00) # Es kommen nur das erste Byte an, ich sende hier ein Byte zurück
Zeile 11 -> data = self.conn.recv() # Jetzt kommt das fehlende Byte an...
Kann ich hier irgendwie "warten" das ich wirklich alle zu erwartende Bytes erhalte???