UDPServer emfängt keine Broadcast & WS-Disvovery Messages
Stehe hier vor einem kleinen Problem mit meinem WS-Discovery-Tool.
S. g. PROBE's von einem Server senden an 239.355..255.250:3702 von "unbekannten" CLienten ist keine Thema - auch nicht die eine oder mehrere Antworten an den Absender lesen. Nun sollen sich aber auch Clienten selbst bei verfügbarkeit mit einem s.g. HELLO melden. Das geht ebenfalls mit 239.355..255.250:3702 in's LAN. Wireshark sieht das alles - nur mein UDPServer (Indy 10) stellt sich taub. Muss ich da am UDPServer etwas bestimmtes einstellen ? Suchen hat auch nicht viel geholfen weil meist kein Bezug auf Indy. Mir fehlt das AHA-Erlebnis .... :oops: |
AW: UDPServer emfängt keine Broadcast & WS-Disvovery Messages
Zitat:
Port ja, IP Nein. Zeig mal Deinen Source dazu... Eigentlich braucht es nur ein
Delphi-Quellcode:
idUDPClient1.Broadcast('Hello there my Name is Client 1',3702);
Mavarik |
AW: UDPServer emfängt keine Broadcast & WS-Disvovery Messages
Wegen der eigenartigen Initialisierung siehe an hier:
http://www.delphipraxis.net/1329903-post7.html
Code:
Einen speziellen, separaten Clienten habe ich hier nicht eingesetzt.
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); 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). |
AW: UDPServer emfängt keine Broadcast & WS-Disvovery Messages
So - wieder/noch mal viel suchen und eine neue Erkenntns aus diesem seeeehr informativen Artikel hier von Remy Lebeau / Indy Project:
http://codeverge.com/embarcadero.del...estric/2001421 1.) Das was ich meine/worum es geht, ist KEIN BROADCAST, sondern MULTICAST. (Steht ja auch deutlich bei WS-Discovery beschrieben ! Aaargh .....) 2.) Der TidUDPServer kann kein Multcast ! Dafür nehme man bitte die Komponenten TIdIPMCastClient und TIdIPMCastServer ! Wobei hier darauf zu achten ist, dass der Client 'lauscht' und der Server 'sendet' - also genau andersherum wie bei UDP. .... 'eben mal schnell' ausprobiert und .... TÄTÄääääh: FUNKTIONIERT ! Ich bin begeistert. :witch: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz