What is the socket type of each? On Dec 9, 2014 6:47 PM, "Tiago Hillebrandt" <[email protected]> wrote:
> Hey guys, > > I am using the below Python code to transfer big files between a server > and a client. > > *Implementation to send file, server* > > CHUNK_SIZE = 250000 > > message = pair.recv() # message is the path to the file > > filename = open(message, 'rb') > filesize = os.path.getsize(message) > > offsets = (int(ceil(filesize / CHUNK_SIZE)), 0)[filesize <= CHUNK_SIZE] > > for offset in range(offsets + 1): > filename.seek(offset) > > chunksize = CHUNK_SIZE > > if offset == offsets: > chunksize = filesize - (CHUNK_SIZE * (offset - 1)) # calculate > the size of the last chunk > > data = filename.read(chunksize) > > pair.send(data) > > pair.send(b'') > > *Implementation to receive file, client* > > while True: > data = pairs.recv() > > if data is not '': > target.write(data) > else: > break > > However, after transfer a big file using this implementation, for some > reason an extra data is being added at end of the file: > > *File server side* > > $ stat file.zip > File: `file.zip' > Size: 1503656416 Blocks: 2936840 IO Block: 4096 regular file > > *Client side* > > $ stat file.zip > File: `file.zip' > Size: 1503906416 Blocks: 2937328 IO Block: 4096 regular file > > The size and blocks are different between them. > > That said, do you have any suggestions to calculate/send the end of file > properly? > > Thanks! > -- > *Tiago Hillebrandt* > Ubuntu Member > Ubuntu Brazilian Community Council Member > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
