Was bedeutet dieses Socket.gaierror?

Ich bin neu in Python und gehe durch ein Buch, Core Python Applications 3rd Edition. Dies ist das erste Beispiel und schon bin ich damit verstaut. Hier ist der Code mit dem Fehler am Ende. # 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 

Was bedeutet das?

2 Solutions collect form web for “Was bedeutet dieses Socket.gaierror?”

Es bedeutet, dass dein gegebener Hostname ' ' ungültig ist (gai steht für getaddrinfo() ).

Wie NPE schon sagt, wäre vielleicht ein leerer String '' geeigneter als ein Raum ' ' .

Das

 HOST = ' ' 

sollte lesen

 HOST = '' 

(Dh kein Platz zwischen den Anführungszeichen).

Der Grund, warum du den Fehler bekommst, ist, dass ' ' kein gültiger Hostname ist. In diesem Zusammenhang hat '' eine besondere Bedeutung (es bedeutet im Grunde "alle lokalen Adressen").

  • Select.select Ausgabe für Steckdosen und Rohre
  • Socket-Hangup erkennen, ohne zu senden oder zu empfangen?
  • Wie benutzt man TCP Keepalive mit Endpunkten in Twisted?
  • Wann macht socket.recv () eine Ausnahme?
  • Raw Sockets und Sendto in Python
  • Ist TCP Garantiert, um in Reihenfolge zu kommen?
  • Python sendet Wörterbuch durch TCP
  • Python TCP Server akzeptiert Verbindungen und Broadcasting Befehle
  • Python Socket - Mehrere Clients
  • Verbinden mit mir durch meine öffentliche IP durch TCP
  • Wie kann ich MySQL-Datenbank mit Python + SQLAlchemy remote verbinden?
  • Python ist die beste Programmiersprache der Welt.