diff --git a/src/server.py b/src/server.py --- a/src/server.py +++ b/src/server.py @@ -20,13 +20,8 @@ class Connection: fr=self.socket.makefile(mode="rb") fw=self.socket.makefile(mode="wb") - networkReader=NetworkReader(fr) - networkReader.start() - networkWriter=NetworkWriter(fw) - networkWriter.start() - - self.incoming=networkReader.output # synchronized message queue - self.outcoming=networkWriter.input + self.incoming=NetworkReader(fr) + self.outcoming=NetworkWriter(fw) def __enter__(self): return self.incoming,self.outcoming @@ -49,7 +44,7 @@ i1=-1 while True: with Connection(ss) as (incoming,outcoming): - jsonData,binData=incoming.get(timeout=2) + jsonData,binData=incoming.readMsg() dataFile=open(filename,mode="rb+") if jsonData["command"]=="init": @@ -63,7 +58,7 @@ while True: jsonResponse={"command":"send", "index":jsonData["index"], "dataType":"hash"} binResponse=nodeHash - outcoming.put((jsonResponse,binResponse),timeout=2) + outcoming.writeMsg(jsonResponse,binResponse) elif jsonData["command"]=="send" and jsonData["dataType"]=="data": # needlessly allow hashes and data in mixed order print("received data block #{0}: {1}...{2}".format(jsonData["index"],binData[:5],binData[-5:]))