Wegen der eigenartigen Initialisierung siehe an hier:
http://www.delphipraxis.net/1329903-post7.html
Code:
const
WS_Discovery_IP = '239.255.255.250';
WS_PORT_HELLOBYE = 3702;
// Create Class
// create the "listening" server for HELLO & BYE
udpSrv_Lstn := TIdUDPServer.Create;
// !!! http://www.delphigroups.info/2/11/215650.html
FMethod.Data := udpSrv_Lstn;
FMethod.Code := @TWSDiscovery.udpSrv_LstnRead;
with udpSrv_Lstn do begin
Active := false;
OnUDPRead := TUDPReadEvent(FMethod);
// OnUDPRead := udpSrv_LstnRead; // das tut nicht tuten !!!
Bindings.DefaultPort := WS_PORT_HELLOBYE;
DefaultPort := 20001;
BufferSize := 4096;
ThreadedEvent := true;
BroadcastEnabled := true;
Active := True;
end;
Aufruf:
udpSrv_Lstn.SendBuffer(WS_Discovery_IP, WS_PORT_HELLOBYE, SendBytes);
Einen speziellen, separaten Clienten habe ich hier nicht eingesetzt.
Die Funktion sendet ja auch so weit an besagte
IP mit dem Port - manche Geräte antworten ja auch mit einem HELLORESPONSE - allerdings an meine PC-
IP 192.168.178.11:3702
Das kann ich auch lesen ....
Ich möchte nun gerne selber auf die
IP 239.255.266.260:3702 lauschen, wenn irgendein anderer Client dort was hinsendet.
Es geht mir hier um das Empfangen mit dem Server -
NICHT senden (das klappt ja).