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/", line 224, in meth socket.gaierror: [Errno 8] nodename nor servname provided, or not known 

What does this mean?

2 Answers

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 ' '.

1

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").

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy