ikseek

sendfile_server

Oct 27th, 2016
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.51 KB | None | 0 0
  1. import socket, struct, sys
  2. server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  3. server.bind(("127.0.0.1", int(sys.argv[1])))
  4. server.listen(1)
  5. while True:
  6.     client, _ = server.accept()
  7.     name_len = struct.unpack('>I', client.recv(4))[0]
  8.     name = client.recv(name_len).decode()
  9.     file_len = struct.unpack('>I', client.recv(4))[0]
  10.     with open(name, 'wb') as file:
  11.         for chunk in iter(lambda: client.recv(4096), b''):
  12.             file.write(chunk)
  13.         if file_len != file.tell():
  14.             raise Exception("Unexpected file size")
Advertisement
Add Comment
Please, Sign In to add comment