import socket import sys # DEFINE CONSTANTS BUFFER_SIZE = 1024 # Check input arguments if len(sys.argv) != 4: print("ERROR: Invalid input(s).") print("Usage:") print("\tpython fclient.py ") sys.exit(1) serverIp = sys.argv[1] try: serverPort = int(sys.argv[2]) except ValueError: print("ERROR: server port must be between 1024 and 65535.") sys.exit(1) fileName = sys.argv[3] serverAddr = (serverIp, serverPort) # Define socket clientSocket = socket.socket(type=socket.SOCK_DGRAM) clientSocket.bind(("0.0.0.0", 0)) # Start running the client """ SAMPLE CODE This sample code sends a request packet to the server, then waits indefinitely for any packets sent by the server, printing out the contents upon receipt. You may find useful this when you start writing your own code. """ print("Initiating request to server {}:{}".format(*serverAddr)) clientSocket.sendto(b"hello", serverAddr) clientSocket.settimeout(1) # allows for CTRL+C break out while True: try: data, addr = clientSocket.recvfrom(BUFFER_SIZE) except socket.timeout: continue print("Rx: {} from {}".format(data, addr))