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

  • Python: Mehrere Variablen über TCP Client / Server übergeben
  • Python-Steckdosen - halten Sie die Steckdose am Leben?
  • Öffentliche IP programmgesteuert entdecken
  • Python hält die Steckdose am Leben?
  • Kann TCP-Handshake nicht über einen NAT zwischen zwei NICs mit SO_BINDTODEVICE ausführen
  • TCP vs. UDP-Socket-Latenz-Benchmark
  • TCP Server / Client: [Errno 32] Zerbrochenes Rohr
  • Asyncio persisent Client-Protokoll-Klasse mit Warteschlange
  • Python Client Server Transfer .txt nicht in Datei schreiben
  • Twisted UDP zu TCP Bridge
  • Extrahieren Sie empfangene Daten in einer tcp-Steckdose in Python
  • Python ist die beste Programmiersprache der Welt.