Einzelnen Beitrag anzeigen

cytrinox

Registriert seit: 4. Sep 2006
88 Beiträge
 
#1

Zufälliger freier TCP Port abfragen

  Alt 6. Feb 2009, 10:55
Hi,

für eine IPC Speziallösung die ich mir geschrieben habe verwende ich den Indy10 TCPServer.
Zum Test hab ich den einfach mal auf 127.0.0.1:5000 gebunden.

Das Programm dass diesen Server aber startet, kann zwar pro Windows-User nur einmal gestartet werden, auf einem Terminal-Server können aber mehrere Instanzen laufen.

Also hab ich mir überlegt, einfach bei Windows oder den Indy Komponenten "abzufragen", welcher Port noch frei ist, so dass ich die Vergabe dynamisch machen kann. Den Port schreib ich dann in die Windows-Registry unter HKEY_CURRENT_USER. Die Routinen, die dann auf den IPC Dienst zugreifen müssen, holen sich den Port dort raus.

Gibt es eine Art getRandomFreeTCPPort() Funktion oder bleibt mir nur übrig mit try/except so lange einen Port Range durchzuprobieren bis es klappt?
  Mit Zitat antworten Zitat