Ich schreibe eine einfache P2P-Anwendung, um die Machbarkeit der Verwendung von UDP-Lochen in einem größeren Projekt zu testen.UDP-Lochung: Testbarkeit auf einer Maschine
Ich habe gestern meine Test-Apps von zu Hause aus getestet und sie haben funktioniert.
Allerdings bin ich jetzt bei der Arbeit und der gleiche Code macht nicht mehr den Job. Der Absender sendet hier an den entsprechenden Port auf der externen IP-Adresse unseres Routers, aber der Empfänger erhält keine davon.
Vor dem Aufruf UdpClient.Receive()
sendet die empfangende App ein Paket an den IP: Port, den es abhört. Auch dies funktioniert auf meinem Heim-Setup, aber nicht hier. Das Ergebnis ist das gleiche, unabhängig davon, ob die Windows-Firewall ein- oder ausgeschaltet ist. Das ist also nicht das Problem.
Könnte es sein, dass die Router die Situation anders handhaben?
EDIT1: Beide Apps laufen auf demselben Rechner.
Funktioniert Ihr Router irgendeine Art von NAT? Benötigt es eine Portweiterleitung?Gibt es irgendeine Art von Firewall (auf dem Router oder einer anderen Appliance) zwischen Sender und Empfänger? – Lazarus
Beide Router sind typische SOHO-NAT-Router. Bei beiden sind die Firewall-Funktionen deaktiviert. Die Idee ist, Portweiterleitung zu vermeiden. :) – dandan78
Ich würde wireshark verwenden, um alles auf einer Netzwerkebene zu betrachten. – weismat