Ich habe das Gefühl wir reden aneinander vorbei
Natürlich ist der Broadcast dafür da ein unbekanntes Ziel zu finden. Dieses Ziel sollte dann aber wissen wohin es das Antwort Packet hinschicken soll.
Um von dem VPN Beispiel wegzugehen bzw. Hamachi nicht die Schuld zu geben nehm ich mal ein anderes Beispiel:
PC1 <--> PC2 <--> PC3 (PC1 kann nur mit PC2 reden, PC3 kann nur mit PC2 reden, PC2 mit beiden)
PC1:
LAN:
IP: 192.168.1.100
PC2: (zwei Netzwerkadapter)
LAN1: Höhere Priorität,
IP: 192.168.1.200
LAN2: Niedrigere Priorität,
IP: 192.168.2.200
PC3:
LAN:
IP: 192.168.2.100
Wenn PC2 jetzt einen Broadcast auf allen Adapter sendet (wie du richtig gesagt hast auch der Sinn der Sache ist), dann wird (ohne spezielle Config) die Source
IP 192.168.1.200 verwendet. PC1 filtert die Source
IP heraus und kann nun ein Antwort Packet an PC2 schicken. PC3 erhält das Packet zwar auch kann aber keine Antwort schicken da die Ziel Adresse (192.168.1.200) für Ihn nicht erreichbar ist.
Wenn ich die
IP zum senden explicit auf 192.168.2.200 setze dann würde das ganze gleich sein nur umgekehrt. (PC1 könnte nicht zurücksenden, PC3 schon).
Einen Broadcast für jede
IP zu versenden ist auch ihn meinen Augen nicht zielführend.
Ich weiß nicht genau wie ihr diese Broadcast Routine implementiert habt und deshalb wäre es interessant zu wissen ob die Indys alle Adapter selber durchgehen und dann bei jedem Adapter einen Broadcast raus senden oder ob die diese Aufgabe von einer tieferen Ebene erledigt wird?