I'm new to python and going through a book, Core Python Applications 3rd Edition. This is the the first example and already I'm stumped with it. Here's the code with the error at the end.
#!/usr/bin/env python from socket import * from time import ctime HOST = ' ' PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) while True: print 'waiting for connection...' tcpCliSock, addr = tcpSerSock.accept() print "...connected from:", addr while True: data = tcpCliSock.recv(BUFSIZ) if not data: break tcpCliSock.send("[%s] %s" % (ctime(), data)) tcpCliSock.close() tcpSerSock.close() Traceback (most recent call last): File "tsTserv.py", line 12, in <module> tcpSerSock.bind(ADDR) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 224, in meth socket.gaierror: [Errno 8] nodename nor servname provided, or not known What does this mean?
It means that your given host name ' ' is invalid (gai stands for getaddrinfo()).
As NPE already states, maybe an empty string '' would be more appropriate than a space ' '.
The
HOST = ' ' should read
HOST = '' (i.e. no space between the quotes).
The reason you're getting the error is that ' ' is not a valid hostname. In this context, '' has a special meaning (it basically means "all local addresses").
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With