When i test an udp.py file on server and client in python34.
#!/usr/bin/env python import socket, sys s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) MAX = 65535 PORT = 1060 if sys.argv[1:] == ['server']: s.bind(('127.0.0.1', PORT)) print('Listening at', s.getsockname()) while True: data, address = s.recvfrom(MAX) print('The client at', address, 'says', repr(data)) s.sendto('Your data was %d bytes' % len(data), address) elif sys.argv[1:] == ['client']: print('Address before sending:',s.getsockname()) s.sendto('This is my message',('127.0.0.1', PORT)) print('Address after sending',s.getsockname()) data, address = s.recvfrom(MAX) print('The server', address, 'says', repr(data)) else: print('usage: udp_local.py server|client') The command `python udp.py server` get output: Listening at ('127.0.0.1', 1060) Why `python udp.py client` run failure: Traceback (most recent call last): File "d://udp.py", line 15, in <module> print('Address before sending:', s.getsockname()) OSError: [WinError 10022] An invalid argument was supplied -- https://mail.python.org/mailman/listinfo/python-list