Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. import socket
  2. import sys
  3. import os
  4.  
  5. PORT = 8800
  6. CHUNK_SIZE = 1024
  7.  
  8.  
  9. def main():
  10. if len(sys.argv) < 3:
  11. print('Usage: python3 client.py <IP|DNS> <PATH TO FILE>')
  12. sys.exit(0)
  13. serv_addr = sys.argv[1]
  14. file_path = sys.argv[2]
  15.  
  16. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  17. serv = (serv_addr, PORT)
  18. sock.connect(serv)
  19.  
  20. try:
  21. file = open(file_path, "rb")
  22. except:
  23. print('File can not be opened!')
  24. sys.exit(-1)
  25. import time
  26. file_name = bytes(file.name, encoding='utf-8')
  27. sock.send(file_name)
  28. time.sleep(1)
  29. chunk = file.read(CHUNK_SIZE)
  30. sent_count = 0
  31. size = os.path.getsize(file_path)
  32. last = 0
  33. while chunk:
  34. sock.send(chunk)
  35. sent_count += len(chunk)
  36. pr = sent_count / size * 100
  37. if pr == 100 or (pr - last) > 5:
  38. print(f"File Transfer progres: {pr}%")
  39. last = pr
  40. chunk = file.read(CHUNK_SIZE)
  41.  
  42. sock.close()
  43.  
  44.  
  45. if __name__ == "__main__":
  46. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement