diff --git a/src/client.py b/src/client.py --- a/src/client.py +++ b/src/client.py @@ -58,15 +58,18 @@ def negotiate(incoming,outcoming): def sendData(outcoming,blocksToTransfer): print(blocksToTransfer) dataFile=open(filename,mode="rb") + i1=-1 - for i in blocksToTransfer: - jsonData={"command":"send", "index":i, "dataType":"data"} - dataFile.seek(i*HashTree.BLOCK_SIZE) + for i2 in blocksToTransfer: + jsonData={"command":"send", "index":i2, "dataType":"data"} + if i1+1!=i2: + dataFile.seek(i2*HashTree.BLOCK_SIZE) binData=dataFile.read(HashTree.BLOCK_SIZE) - print("block #{0}: {1}...{2}".format(i,binData[:5],binData[-5:])) + print("block #{0}: {1}...{2}".format(i2,binData[:5],binData[-5:])) outcoming.put((jsonData,binData),timeout=2) + i1=i2 jsonData={"command":"end"} outcoming.put((jsonData,b""),timeout=2)