Hallo!
@Basilikum: Diese Möglichkeit kannte ich nocht nicht. Da sehe ich aber 2 Probleme:
1. Wie sage ich es meinem
Indy? (bei
TCP scheint es möglich zu sein, aber bei UDP?)
2. Was ist, wenn eine Fremdapplikation auf diesem Port läuft und Fehler produziert? Der gemeine Benutzer schiebt die Probleme doch auf das neue Programm, auch wenn das Alte mit dem Datenformat nicht klar kommt und statt Ignorieren des unverständlichen Pakets einen Fehler produziert. Bei individuellen Ports ist es leichter möglich, Doppelbelegung mit Fremdanwendungen zu vermeiden.
@fiasko: Das wäre doch Overkill. Außerdem: was passiert, wenn der Sender-PC neugestartet wird (und eine der Anforderungen nicht gespeichert wurde)?
Da bei mir zumindest die betroffenen Rechner dauernd laufen, wären Inkonsistenzen bei den Daten problematisch. Dann kommt wieder das regelmäßige Abgleichen.
Außerdem bleibt das Problem, daß der "Verwaltungsport" vom Anwender ausgesucht werden muß.
Hinzu kommt ja nochwas: Das Sender-Programm läuft ja beim augenblicklichen Konzept gar nicht dauernd! Es wird vom Internet-Zugang der Fritz!-Karte mit
IP als Parameter gestartet. Dann sendet es seine Nachricht(en) ins Netz und beendet sich wieder - ohne jede Meldung auf dem Bildschirm. Lediglich bei Start ohne Parameter wird eine
GUI aufgerufen, wo der Anwender Einstellungen vornehmen (und eine Test-Sendung veranlassen) kann.
Wenn das Programm dauernd läuft, muß ich wieder feststellen, daß schon eine Instanz läuft und dieser eine Nachricht schicken. Alternativ wären 2 Programme - eines, das die Ports verwaltet und ein Sende-Programm. Hier ergibt sich wieder das Problem der Daten-Konsistenz (wenn während der Verarbeitung einer Anforderung ein Connect erfolgt).
Die Problematik liegt darin, daß einige Ports (bis 1024) "well known" sind, also fest vergeben. Alles Andere ist Wildwuchs. Sogar die VoiceOverIP-Telefone benutzen nicht alle einheitliche Ports - lediglich 5060 scheint da einheitlich zu sein! Es ist also unverzichtbar, die Ports vom Anwender einstellen zu lassen. Wenn der Empfänger auf "seinem" Rechner einen Port als frei erkennt, kann dieser doch auf einem anderen Rechner belegt sein. Die möglichen Folgen habe ich ja schon am Anfang erwähnt.
Gruß
Dietmar Brüggendiek