import socket def receive_file(port): # Create a UDP socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('', port)) print(f"Listening for incoming files on port {port}...") # Receive file information data, addr = sock.recvfrom(1024) filename, filesize = data.decode().split(":") filesize = int(filesize) with open(filename, "wb") as f: print(f"Receiving {filename}...") bytes_received = 0 while bytes_received < filesize: data, addr = sock.recvfrom(1024) # Receive in chunks f.write(data) bytes_received += len(data) print(f"File {filename} received successfully.") sock.close() if __name__ == "__main__": port = int(input("Enter the port to listen on: ")) receive_file(port)