Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   UDP-Multicast Nachricht empfangen (https://www.delphipraxis.net/200527-udp-multicast-nachricht-empfangen.html)

TERWI 28. Apr 2019 17:44

UDP-Multicast Nachricht empfangen
 
Ich möchte gerne eine UDP-Multicast Nachricht empfangen.
Dazu hab ich mir einen IdIPMCastClient auf die From gepackt, den DefaultPort (4713), die Multicastgruppe (233.233.233.233) angegeben und lasse mir im OnIPMCastRead-Event der PeerIP und den Port der ankommenden Nachricht anzeigen.

Senden tue ich das mit PacketReader oder einem ESP8266-WiFiModul
.... da kommt nur nix ?!
Warum nicht ?

Klaus01 28. Apr 2019 20:23

AW: UDP-Multicast Nachricht empfangen
 
.. ist da noch ein Router dazwischen?
Normalerweise lassen die Router per default keinen Multicast traffic durch.

Mit Wireshark hast Du schon geschaut ob traffic ankommt?

Grüße
Klaus

TERWI 29. Apr 2019 07:23

AW: UDP-Multicast Nachricht empfangen
 
Das spielt sich hier alles im Standard-IP-Bereich 192.168.178.x hinter meiner 7490er Box ab.
Ich hab 2 PC's (.55 + .50) und z.Zt. ein Arduino Modul ESP8266 (.40). Es sollen/können mal mehr ESP sein.
Zum Testen benutze ich neben meinem Tool den "PaketSender" auch einen ESP8266 mit selbstgebautem Proggie in C (mit Arduino IDE)
WireShark zeigt mir, das auch entsprechende Uni- wie auch Multicast-Pakete (230.230.230.230 - alle an Port 4711) verschickt werden.
Der ESP empfängt und antwortet auch artig wie befohlen.
Auf PC-Seite ist Unicast kein Problem - das mache ich mit IdUDPClient und IdUDPServer.
Interesaant dabei ist:
IdUDPClient.Broadcast('MULTICAST', 4711, '230.230.230.230');
verschickt anscheinend auch eine Multicastnachricht, die der ESP empfängt und versteht (weil er darauf korrekt antwortet).

Multicast empfangen mit IdIPMCastServer (!) weigert sich bisher weiterhin.

Das Ziel:
Ein oder mehr PC sollen als Server mit 1-x ESP8266-Clienten per UDP kommunizieren.
A) Master soll ein Multicast-Telegramm senden, und alle Clienten sollen eine Unicast-Telegramm als Antwort mit der eigenen IP an den Server senden - ähnlich dem Windows Discovery / Ping. Nur einfacher.
B) Unicast's vom Server an einzelne Clienten, um diese zu steuern und deren Antwort zu erhalten.
C) Clienten sollen dem Server je nach UDB-Typ (Multi/Uni) antworten.
D) Clienten sollen selbst ein Multicast an den/Die Server senden, falls ein Event auftritt, sich diese an- oder abmelden (Hall, bin der neue / wieder da ... und Tschüss)

generic 29. Apr 2019 07:32

AW: UDP-Multicast Nachricht empfangen
 
Sind da noch Switche involviert?

ggf. musst du per IGMP den Switch/Router davon überzeugen, dass du das Multicast haben willst.

TERWI 29. Apr 2019 07:37

AW: UDP-Multicast Nachricht empfangen
 
Nein - hier steht nur eine Fritz-Box 7490 und da hängt alles per Draht oder Funk dran.

Der ESP versteht es ja, wenn ich vom PC sende.
Der PC aber nicht, wenn der ESP oder ein anderer PC ein Muticast sendet.
Es ist anscheinend also die Empfangsroutine, die streikt.

HolgerX 29. Apr 2019 09:34

AW: UDP-Multicast Nachricht empfangen
 
Hmm..

Pakete verschicken geht...

Zeigt den WireShark auch eingehende Pakete auf dem PC an?
Wenn nicht könnte hier die Firewall diese (eingehenden) blockieren..

TERWI 29. Apr 2019 12:09

AW: UDP-Multicast Nachricht empfangen
 
... ich bin da nicht so der Held beim Wireshark - aber ich sehe die (UDP) pakete die abgehen.
D.h., wenn ich hier am PC vom PaketSender ein MC an 230.230.230.230 verschicke ebenso das Antwortpaket vom ESP.
Dito vom PC / mein Delphi Tool, wenn ich (vermeintlich) Multicast oder Unicast sende.
Das Tool empfängt auch auch wenn es direkt an die IP geht - aber ein Multicast kommt da nicht an ?!
Denke mal, das da die Firewall nix blockt. Hab mal beim Kaspersky reingeguckt, das ist nix entsprechendes blockiert.

Ist das irgendwie eine Feinheit im Setup des IdIPMCastClient ?

HolgerX 29. Apr 2019 15:03

AW: UDP-Multicast Nachricht empfangen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm..

Anbei mal etwas zusammengeklimpert, konnte es aber nicht bei mir testen.
Habe ein anderes Beispiel dafür verwendet..

(Delphi 6 mit Indy 10.6)

Und was hat Kaspersky mit der Windows-Firewall zu tun?
Gebe dort mal den Port 4713 für UDP als 'Eingehend' frei..

TERWI 29. Apr 2019 17:33

AW: UDP-Multicast Nachricht empfangen
 
Jetzt hab ich den Salat .....

Mit deinem Tool funzt das, nachdem ich die Ports 4710-4720 freigegeben.
Mit meinem immer noch nicht grrrrr.....
Du schrubtest Indy 10.6 - bei mir zeigts die Version 10.2.5. Ist wohl die org. Inst mit Delphi 2009 mit Dateien von 2008.
Möglicherweise ein Versions-Problem ?! Also mal die neueste drauf mache .... hatte ich mir gedacht.

Eine Version Indy10_5498 mit Datum von gestern gezogen, in Delphi alles nach Anleitung gelöscht und die FullD120.bat probiert.
Denkste ! Das CMD endet mit einer kilometerlangen Liste von (Fehler-) Meldungen. Wass nu wieder los ?
Ich hatte das vor Jahren schon mal - aber die Lösung des Drama's weiß ich nicht mehr.
Liegts am Win 8 mit seinen Rechteproblemen oder eas ist das ???

HolgerX 30. Apr 2019 04:17

AW: UDP-Multicast Nachricht empfangen
 
Hmm..

ich habe Indy 10 unter Delphi 6 (hat selber nur 9) gar nicht installiert, sondern einfach nur entpackt und die Verzeichnisse in den Suchverzeichnissen des Projektes hinterlegt.
So kann ich Indy 10 ohne Inst verwenden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.
Seite 1 von 2  1 2      

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