Hallo zusammen,
hab vor eine client-client connection via java aufzubauen ohne Port-Forwarding seitens der Clients einrichten zu müssen wenn sie hinter nem Router oder NAT sitzen. Mir ist klar, dass man dazu zwei Clients (logischerweise) und nen dritten "server" brauch der die beiden in Verbindung setzt. Die erste grundlegende Frage ist: handelt es sich jetzt wirklich um eine Client-Client Verbindung oder läuft alles, was die beiden Clients an Daten austauschen über den Server? Iwie sagt jeder was anderes. Hab mir auch schon einige Java Examples angeguckt aus denen aber nicht das Verhältnis zum "server" hervor ging (siehe: http://www.java-forum.org/netzwerkprogrammierung/99684-udp-hole-punching.html - Habs probiert. Die Verbindung kommt zustande, jedoch auch nur wenn man den jeweiligen Port forwarded).
Was ich jetzt beim ganzen hole punching-Verfahren nicht verstehe ist: Wenn sich die Clients mit nem Server verbinden, muss der Server ja auch wiederrum mit den Clients über den spezifizierten Port kommunizieren. Aber spätestens beim NAT oder Router des Clients wär doch wieder ende... also ist man doch wieder beim Ausgangspunkt und dem Problem mit dem Forwarding angekommen.
Ich vermute der Server muss iwas spezielles machen. Wär schön wenn mir einer diese Sache beim Hole Punching erklären könnte.
Danke & Gruß
Daniel
hab vor eine client-client connection via java aufzubauen ohne Port-Forwarding seitens der Clients einrichten zu müssen wenn sie hinter nem Router oder NAT sitzen. Mir ist klar, dass man dazu zwei Clients (logischerweise) und nen dritten "server" brauch der die beiden in Verbindung setzt. Die erste grundlegende Frage ist: handelt es sich jetzt wirklich um eine Client-Client Verbindung oder läuft alles, was die beiden Clients an Daten austauschen über den Server? Iwie sagt jeder was anderes. Hab mir auch schon einige Java Examples angeguckt aus denen aber nicht das Verhältnis zum "server" hervor ging (siehe: http://www.java-forum.org/netzwerkprogrammierung/99684-udp-hole-punching.html - Habs probiert. Die Verbindung kommt zustande, jedoch auch nur wenn man den jeweiligen Port forwarded).
Was ich jetzt beim ganzen hole punching-Verfahren nicht verstehe ist: Wenn sich die Clients mit nem Server verbinden, muss der Server ja auch wiederrum mit den Clients über den spezifizierten Port kommunizieren. Aber spätestens beim NAT oder Router des Clients wär doch wieder ende... also ist man doch wieder beim Ausgangspunkt und dem Problem mit dem Forwarding angekommen.
Ich vermute der Server muss iwas spezielles machen. Wär schön wenn mir einer diese Sache beim Hole Punching erklären könnte.
Danke & Gruß
Daniel