Qu'est-ce socket.gaierror veut dire?
je suis nouveau en python et je passe en revue un livre, Core Python Applications 3rd Edition. C'est le premier exemple, et déjà je suis perplexe. Voici le code avec l'erreur à la fin. #1 / 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
Qu'est-ce que cela signifie?
35
demandé sur
user2139635
2013-03-06 15:26:01
2 réponses
Cela signifie que votre nom d'hôte donné ' '
est invalide (gai signifie getaddrinfo()
).
comme le dit déjà NPE, peut-être une chaîne vide ''
serait plus approprié qu'un espace ' '
.
32
répondu
glglgl
2015-05-29 09:12:31
HOST = ' '
devrait lire
HOST = ''
(c'est à dire pas d'espace entre les guillemets).
La raison pour laquelle vous obtenez l'erreur est que ' '
n'est pas un nom d'hôte valide. Dans ce contexte, ''
a une signification particulière (il signifie "toutes les adresses locales").
14
répondu
NPE
2013-03-06 11:27:51