real - socket python 3 español
¿Qué significa este socket.gaierror? (2)
Significa que su nombre de host dado '' ''
no es válido (gai significa getaddrinfo()
).
Como NPE ya indica, tal vez una cadena vacía ''''
sería más apropiada que un espacio '' ''
.
Soy nuevo en Python y estoy revisando un libro, Core Python Applications 3rd Edition. Este es el primer ejemplo y ya estoy perplejo con él. Aquí está el código con el error al final. # 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é significa esto?
los
HOST = '' ''
tiene que leer
HOST = ''''
(es decir, no hay espacio entre las comillas).
La razón por la que recibe el error es que '' ''
no es un nombre de host válido. En este contexto, ''''
tiene un significado especial (básicamente significa" todas las direcciones locales ").