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)