Schwierige Frage zu IdUDPSevre-Objekt (Indy) Problem bei belegten Port



  • Hallo,

    ich habe eine schwierige Frage. Ich ein IdUDPServer der Indy-Collection aus dem C++Builder 2009 um mittels Braodcast ein Nachrichtenpaket an alle (beteiligten) Geräte zu senden. Ich nutze die gängigen UDP-Ports zum horchen und zum Senden von Nachrichten. Wenn ich nun die Applikation zweimal starte erhalte ich schwere Fehler, die ich leider auch nicht über das traditionelle Exception-Handling in den Griff bekomme. Jetzt habe ich schon eine weitere Funktion eingebaut, die eine Prüfung vornimmt, ob die Anwendung schon gestartet wurde.
    Somit Lässt sich meine Anwendung nur einmal starten.

    Wie aber kann ich das Exception-Handling in den Griff bekommen, wenn eine anddere Anwendung den gleichen Port nutzt wie mein UDP-Server? Gibt es in der Indy-Collection eine Funktion/Methode um zu prüfen, ob der Port bereits belegt ist?
    Der schwere Fehler tritt auf bei :

    IdUDPServer1->Active = true;
    

    Somit also, wenn der UDP-Server aktiviert wird.
    Bitte um kompetente Hilfe. Ich suche schon länger nach einer Lösung.



  • Kann ich nicht nachvollziehen. Bei mir wird nur ein EIdSocketError 'blabla already in use' ausgelöst und lässt sich ohne Probleme abfangen. Was für schwere Fehler genau sind denn das, die du bekommst?


Anmelden zum Antworten