Hallo,
ich verschicke mit meiner Applikation Nachrichten per UDP durch das Netzwerk. Da eine Anwendung mehrfach auf einem Rechner gestartet werden kann, habe ich nach einer Lösung gesucht, die UDPServer (ich benutze
Indy) der Anwendungen an den selben Port zu binden.
Die Lösung des Problems habe ich in der Socket-Option SO_REUSEADDR gefunden, welche im TCPServer von
Indy auch schon implementiert ist (Property ReuseSocket).
Habe die selbe Implementierung auch für den UDPServer gemacht und es funktioniert auch alles, solange ich Broadcasts empfangen. Alle Anwendungen bekommen dabei die selbe Nachricht und alles ist gut.
Probleme bereiten mir Nachrichten, welche direkt an die
IP eines Rechner geschickt werden. Hier bekommt nur immer
eine Anwendung die Nachricht (welche scheint zufällig zu sein). Die Anwendung scheint die Nachricht vom Socket-Stack zu nehmen und die nächste Anwendung sieht davon nichts mehr ...
Ich möchte aber, dass alle Anwendungen die Nachricht bekommen.
Hat jemand eine Idee? Ich hab von dem Stichwort
Multicast gehört. Weiß damit aber nicht so recht etwas anzufangen.
Gruß,
Steffen