2010-12-31 20 views
2

Ich habe diesen Fehler beim Ausführen meiner Funktion.Python Socket Programmierung Fehler

"socket.error: [Errno 98] Adresse bereits in Verwendung"

wie kann ich die Adresse bereits in Gebrauch schließen und neue Verbindung mit Port in Python starten?

Antwort

0

Stoppen Sie das Programm oder den Dienst, der der Port ist, den Sie verwenden möchten. Alternativ können Sie für jedes Programm, das Sie schreiben möchten, eine PORT Nummer verwenden, die eine ausreichend hohe Zahl (> 1024) ist und nicht benutzt wird.

+0

können sagen, ich bin mit 54321 Port anzuzeigen. Wie kann ich es stoppen? sock.close ('54321')? – samy

+2

Wenn Ihr Programm nicht die Anwendung besitzt, die am Port ausgeführt wird, können Sie es nicht stoppen. Und sock.close() beendet das Programm. Keine Notwendigkeit, Port zu geben. Sieht aus wie eine kleine Lektüre von "Socket Programming Howto" wäre hilfreich für Sie. –

3

Diese Szenarien werden Fehler aus "[Errno 98] Adresse bereits in Gebrauch", wenn Sie eine Steckdose an bestimmt Port zu erstellen:

  1. Der Hafen geschlossen was't. Wenn Sie einen Socket erstellt haben, aber vergessen haben, ihn zu schließen, oder ein anderes Programm, halten Sie das fest.

  2. Sie haben den Socket geschlossen (oder den Prozess beenden), aber der Port bleibt bei TIME_WAIT in 2 MSL (etwa 2 Minuten).

Try "netstat" Befehl Portnutzung

wie

netstat -na

oder

netstat -na |grep 54321