OSError: [WinError 10022] An invalid argument was supplied in udp python file

contro opinion contropinion at gmail.com
Sat Jan 10 09:12:36 CET 2015


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



More information about the Python-list mailing list