![]() |
Prüfen ob port frei
Moin,
wie kann ich mit meinem Programm prüfen, ob z.b der port "3333" frei ist? |
Re: Prüfen ob port frei
Versuchen einen Socket auf diesem Port zu kriegen.Schlägt es fehl, hat ihn jemand anderes belegt. Oder übersehe ich hier was in deiner Frage?
|
Re: Prüfen ob port frei
Ja, tust du. Ich möchte das auf eine besser Variante prüfen, das muss doch auch gehen ohne auf den Fehlerfall zu warten oder?
|
Re: Prüfen ob port frei
Wenn dus anders testen willst, musst du das verwendete Protokoll wissen und dann versuchen zu dem Port eine Verbindung herzustellen. Wenns net geht ist er zu!
mfg mr47 |
Re: Prüfen ob port frei
Hallo Mario,
ein Port ist nur dann offen, wenn auch auf der anderen Seite eine Application an diesem Port lauscht. Blockt eine Firewall die Verbindung, so ist das so, als ob keiner auf der anderen Seite lauscht. Du wirst also auf Fehler prüfen müssen, um festzustellen, ob ein Port offen ist. bye Claus |
Re: Prüfen ob port frei
Moin Duffy,
Es geht um einen Lokalen Server, d.h mein Programm ist der Server der (normalerweise) auf dem Port "12345"(nicht genau so ;)) läuft, vorher möchte ich prüfen ob der port noch verfügbar ist. Also ich verbinde zu niemandem |
Re: Prüfen ob port frei
Hallo Mario,
dein Programm wird dir sagen, ob es an dem Port lauschen darfst oder nicht. Du bekommst sonst keinen stabilen Zustand deines Programmes hin. bye Claus |
Re: Prüfen ob port frei
Hallo Claus,
also kann man nicht direkt mit irgendeiner (API?)Funktion prüfen ob frei bzw nicht frei, oder? D.h ich muss auf den Fehlerfall reagieren? |
Re: Prüfen ob port frei
Hallo Mario,
ich kenne keine andere Methode, außer die, daß eine Funktion die Prüfung auf Fehler oder nicht macht und das Ergebnis als Boolean zurückliefert. bye Claus |
Re: Prüfen ob port frei
ok, danke ;)
|
Re: Prüfen ob port frei
wie macht es denn netstat ?
|
Re: Prüfen ob port frei
Hallo Denis,
gute Frage! ich denke es wird geprüft welche Ports Aktivität haben und anhand der Portnummer wird die Datei Services ausgwertet, welche Anwendung es sein sollte. bye Claus |
Re: Prüfen ob port frei
Der Thread hier ist auch schon etwas grau aber... es interessiert mich doch etwas...
Sicher, dass netstat sämtliche Ports prüft? Ich denke mal eher, dass jeder Dienst der lauschen will seinen Port irgendwo im Windows oder der Netzwerkkarte anmelden muss damit er lauschen darf und das wird irgendwo gespeichert was netstat widerrum ausliest. Sozusagen eine Art Tabelle die von den Diensten angelegt und geführt wird und von netstat und anderen Programmen aufgelistet werden. Firewalls können ja auch auflisten welche Dienste auf welchen Ports laufen. Ich denke, dass sie auf gleiche Weise auf diese "Tabelle" zugreifen. Und da diese Firewallprogramme (ich denke z.B. an Sygate) diese Liste sekündlich aktualisieren, kann ich mir nicht vorstellen, dass diese alle Ports von 0/1 bis 66535 TCP, UDP usw. durchrassen und dazu rausbekommt welches Programm auf dem Port hockt und ob der Dienst lauscht, wartet, die Verbindung erstellt ist oder sonst was macht. Da hätte die Firewall mindestens eine CPU-Auslastung von > 50 %. Und sowas würde sich keiner installieren. Übrigens: netstat könnte man z.B. nutzen um im Programm alle laufenden Ports aufzulisten zu lassen :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz