Advertisement
acclivity

Basic TCP Receiver

Jan 23rd, 2024
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | Software | 0 0
  1. import socket
  2. import tqdm
  3. import os
  4.  
  5. host, port = "0.0.0.0", 8080
  6. address = host, port
  7.  
  8. try:
  9. with socket.socket() as s:
  10. s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  11. s.bind(address)
  12. s.listen()
  13.  
  14. while True:
  15. sock, addr = s.accept()
  16. print("Connected:", addr)
  17. filename = "Received.jpg"
  18.  
  19. if os.path.exists(filename):
  20. print(f"File '{filename}' already exists. Choose a different name.")
  21. sock.close()
  22. continue
  23.  
  24. filesize = int(sock.recv(1024).decode())
  25. progress = tqdm.tqdm(total=filesize, desc=f"Receiving {filename}", unit="B", unit_scale=True, unit_divisor=1024)
  26.  
  27. with open(filename, "wb") as file:
  28. buffer_size = 8192 # Choose a suitable buffer size
  29. while True:
  30. bytes_received = sock.recv(buffer_size)
  31. if not bytes_received:
  32. print("Received Successfully")
  33. break
  34. file.write(bytes_received)
  35. progress.update(len(bytes_received))
  36.  
  37. except Exception as e:
  38. print(f"An error occurred: {e}")
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement