AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi UDPServer emfängt keine Broadcast & WS-Disvovery Messages
Thema durchsuchen
Ansicht
Themen-Optionen

UDPServer emfängt keine Broadcast & WS-Disvovery Messages

Ein Thema von TERWI · begonnen am 10. Feb 2016 · letzter Beitrag vom 10. Feb 2016
Antwort Antwort
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#1

UDPServer emfängt keine Broadcast & WS-Disvovery Messages

  Alt 10. Feb 2016, 12:19
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 ....
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: UDPServer emfängt keine Broadcast & WS-Disvovery Messages

  Alt 10. Feb 2016, 12:35
von einem Server senden an 239.355..255.250:3702
Sendet an <> Broadcast...

Port ja, IP Nein. Zeig mal Deinen Source dazu...

Eigentlich braucht es nur ein

idUDPClient1.Broadcast('Hello there my Name is Client 1',3702);
Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: UDPServer emfängt keine Broadcast & WS-Disvovery Messages

  Alt 10. Feb 2016, 12:49
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).

Geändert von TERWI (10. Feb 2016 um 13:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: UDPServer emfängt keine Broadcast & WS-Disvovery Messages

  Alt 10. Feb 2016, 16:28
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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