Laden...

Hole Punching (1 zu n) Verbindungen

Erstellt von Alphawolf1988 vor 12 Jahren Letzter Beitrag vor 12 Jahren 655 Views
A
Alphawolf1988 Themenstarter:in
68 Beiträge seit 2008
vor 12 Jahren
Hole Punching (1 zu n) Verbindungen

Hallo liebe Community!

Habe eine Frage bzgl. Hole Punching. Für diesen Prozess initialisiere ich 2 UDPClient Klassen, gebe deren externe adresse UDP Port dem anderen bekannt und verbinde mich. Meine Frage wäre jetzt, ob man für jede Verbindung zu einem anderen Clienten wieder einen neuen Port belegen muss oder ob bisherige Verbindungen nutzbar sind (1 zu n Verbindung). Mein Problem ist, dass mein erster Ansatz ein Ping/Pong zu einem externen UDP Client war und danach das UDP Hole Punching zu einen anderen UDP Client probiert wurde, jedoch ohne Erfolg. Wurde dieser Ping vorher nicht unternommen geht es jedoch.

MFG Chris

Wer zuerst kommt malt zuerst, wer danach kommt malt drüber! 😁

C
1.214 Beiträge seit 2006
vor 12 Jahren

Verbindung zu einem anderen Client = Verbindung zu einer anderen IP? Dann ist es automatisch eine andere Vebrindung und die kriegt auch einen anderen Source Port. Oder versteh ich deine Frage falsch?

3.170 Beiträge seit 2006
vor 12 Jahren

Hallo,

grundsätzlich könnte es schon mit demselben Client/Port funktionieren. Ich kann mir aber auch vorstellen, dass es Probleme geben kann.
Insbesondere wird es vermutlich nicht gehen, ein UDP-Hole gleichzeitig für mehrere Clients offen zu halten. Der Trick ist ja, dass man ein UDP-Paket rausschickt, das zwar nicht angenommen wird, aber ein Dritter, der beide zu verbindende Clients kennt, dies dem Zielrechner mitteilt, so dass dieser dann antworten kann -> und nur von diesem Zielrechner wird dann eine Antwort akzeptiert. Wenn Du also ein Hole öffnest, wird das höchstens für den letzten angesprochenen Client offen sein.
Wiederholst Du für die zweite Verbindung wirklich den gesamten Hole-Punching Vorgang?

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

1.346 Beiträge seit 2008
vor 12 Jahren

Ob das funktioniert hängt von der NAT Einstellung des Routers ab. Aber wenn das Hole Punching an sich funktioniert sollte das dann auch für einen anderen Client funktionieren.