Testen ob Port offen ist?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
wdsl
User
Beiträge: 35
Registriert: Donnerstag 22. Februar 2007, 16:26

Donnerstag 26. Juli 2007, 11:40

Hallo,
wie kann ich testen ob ein Port schon verwendet wird?

vielen Dank
wdsl
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

Donnerstag 26. Juli 2007, 12:01

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
https://www.xing.com/go/invite/18513630.6a91d4
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Donnerstag 26. Juli 2007, 12:28

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
Antworten