Seite 1 von 1

Testen ob Port offen ist?

Verfasst: Donnerstag 26. Juli 2007, 11:40
von wdsl
Hallo,
wie kann ich testen ob ein Port schon verwendet wird?

vielen Dank
wdsl

Verfasst: Donnerstag 26. Juli 2007, 12:01
von lutz.horn
Zum Beispiel mit Sockets http://docs.python.org/lib/module-socket.html:

Code: Alles auswählen

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("localhost", 8080)) # wirft socket.error

Verfasst: Donnerstag 26. Juli 2007, 12:28
von Trundle
lutz.horn hat geschrieben:Zum Beispiel mit Sockets http://docs.python.org/lib/module-socket.html:

Code: Alles auswählen

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("localhost", 8080)) # wirft socket.error
Und dann eben noch schauen, ob die geworfene Exception die Fehlernummer errno.EADDRINUSE als Argument hat.

Code: Alles auswählen

import socket
from errno import EADDRINUSE

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
    s.bind(('localhost', 8080))
except socket.error, (errno, strerror):
    if errno == EADDRINUSE:
        # Adresse wird bereits genutzt
        pass
    else:
        # anderer Fehler
        raise