aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tcp_sync.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/tcp_sync.py b/src/tcp_sync.py
index 4a5a5b8..79183a2 100644
--- a/src/tcp_sync.py
+++ b/src/tcp_sync.py
@@ -45,23 +45,17 @@ class _TcpSyncClient(threading.Thread):
#Read messages
sock.settimeout(None)
+ s = ""
while self.q_quit.empty():
try:
- s = ""
#concatenate to one package
while self.q_quit.empty():
s += sock.recv(self.packet_size)
- if (len(s)) == self.packet_size:
+ if (len(s)) >= self.packet_size:
break
- if (len(s)) > self.packet_size:
- print("received wrong size of length " + str(len(s)) + " instead of " + str(self.packet_size))
- time.sleep(0.01)
- return -1
-
- res_tuple = struct.unpack(
- self.packet_type,
- s)
+ res_tuple = struct.unpack( self.packet_type, s[:self.packet_size])
+ s = s[self.packet_size:]
self.queue.put(res_tuple)
except socket.timeout:
self.stop()