# tcp oder udp hole punching



## gekko223 (1. Okt 2010)

Guten morgen! 

Wollte mal kurz nachfragen ob jemand Erfahrung hat mit "hole punching" in java?!
Möchte ein Programm schreiben, habe mir das Prinzip überlegt und bin auf hole punching gestoßen. Das Prinzip und das Ziel von h.p. sind mir schon klar, aber wie kann man das effektiv realisieren?


----------



## FArt (1. Okt 2010)

> Das Prinzip und das Ziel von h.p. sind mir schon klar, aber wie kann man das effektiv realisieren?


Wo ist denn dein Problem und wie würdest du es "ineffektiv" realisieren?
Leg einfach los...


----------



## gekko223 (1. Okt 2010)

Ich habe noch keinen Ansatz wie ich das programmieren soll... Ein kleines Beispielprogramm wäre toll


----------



## FArt (1. Okt 2010)

Was sind denn deine Vorkenntnisse?

Bei Wikipedia steht eigentlich eine komplette Anleitung: 


> Beide Clients bauen eine Verbindung mit einem offenen dritten Rechner auf, der so externe und interne Adressinformationen bekommt. Da die Clients die Verbindungen aufgebaut haben, kennt der Server die IP-Adressen und Port-Nummern beider Clients. Diese Informationen gibt der Server dem jeweils anderen Client weiter.



Und hier der "Beispielcode":
Lesson: All About Sockets (The Java™ Tutorials > Custom Networking)


----------



## gekko223 (1. Okt 2010)

Server-Client Programme hab ich schon geschrieben, aber wie soll die Kommunikation der 2 Client-Sockets stattfinden?? 

read(socket1)--->write(socket2)

Lese von socket1 und Ergebnis schreibe socket2?

so in etwa?


----------



## FArt (1. Okt 2010)

"Client" ist eine Rolle.

UDP hole punching - Wikipedia, the free encyclopedia
Hier noch mal der Algorithmus am Beispiel mit UDP.


----------



## gekko223 (1. Okt 2010)

Vielen Dank!

Aber gibt es kein simples Beispielprogramm wo 2 Clients über einen Server mittels hole punching kommunizieren?


----------



## kay73 (10. Okt 2010)

Schau Dir mal JSTUN an.


----------

