diff --git a/src/networkers.py b/src/networkers.py --- a/src/networkers.py +++ b/src/networkers.py @@ -7,14 +7,16 @@ class NetworkReader: def readMsg(self): data=self.stream.readline() - if not data: pass # !! raise something + assert data jsonLength=int(data.split(b":")[1].strip()) # "json-length: length" -> length data=self.stream.readline() - if not data: pass # !! raise something + assert data binLength=int(data.split(b":")[1].strip()) # "bin-length: length" -> length jsonData=self.stream.read(jsonLength) + assert len(jsonData)==jsonLength jsonData=json.loads(str(jsonData,encoding="utf-8")) binData=self.stream.read(binLength) + assert len(binData)==binLength return (jsonData,binData) @@ -31,4 +33,5 @@ class NetworkWriter: jsonData=bytes(json.dumps(jsonData)+"\n",encoding="utf-8") jsonLength=bytes("json-length: "+str(len(jsonData))+"\n",encoding="utf-8") binLength=bytes("bin-length: "+str(len(binData))+"\n",encoding="utf-8") + return b"".join((jsonLength,binLength,jsonData,binData))