2010-01-10 15 views
19

Ich muss eine P2P UDP und TCP-Verbindung zwischen zwei Benutzern herstellen. Beide sind hinter einem NAT. Eine kleine Recherche führt mich zu STUN, TURN und ICE.STUN, TURN, ICE-Bibliothek für Java

Gibt es eine Java-Lösung (Bibliothek), mit Ausnahme jSTUN, die nur auf UDP zu arbeiten scheint. Und TURN, ICE ist viel besser für das symmetrische NAT-Problem.

Antwort

2

Sie könnten jstunt versuchen - nicht mehr aufrechterhalten, aber Quelle verfügbar zu sein scheint. Sie bieten ein Jar mit der STUNT-Bibliothek und Beispiel-Java-Server/Client-Anwendungen. Von meinem Lesen ist es nicht natives Java, also funktioniert das möglicherweise nur auf bestimmten Architekturen.

9

Nicht mein eigenes Horn zu viel blasen, aber könnte ich empfehlen IcedJava versuchen. (Es ist ein Teil des SipTools-Projekts) Es wird aktiv entwickelt, hat eine stabile Release-Version 0.9 und unterstützt Anwendungsfälle wie RTP-Streaming aus der Box.

Soweit TCP-Unterstützung, ist das für eine spätere Version geplant, aber Sie werden es schwer haben, TCP über symmetrische NAT zu unterstützen, da der Drei-Wege-Handshake blockiert wird. Selbst die TCP-Erweiterungen der ICE-Spezifikation bemerken, dass TCP-Verbindungen viel weniger erfolgreich sind als UDP-Verbindungen zwischen nattierten Peers.

Das heißt, können Sie diese Abhilfe TCP-Pakete über einen UDP-Brücke durch das Routing, einschließlich aller der Fehlerkorrektur und Kontrollfunktionen fließen. (Ich vergesse den RFC dafür, aber es ist eine endgültige Spezifikation) Dennoch sind das alles relativ neue Spezifikationen, und die ICE-TCP-Spezifikation ist noch nicht endgültig. Diese werden selbst in der aktiven Entwicklung einige Zeit in Anspruch nehmen.

+0

hmm der Link ist tot ... – goh

+0

den Link behoben. – SplinterReality

+0

Wird dieses Projekt noch beibehalten? Oder wurde es eingestellt? – mateuscb

7

Es gibt auch ice4j, die den Entwickler Acording:

Eine Java-Implementierung der STUN und TURN und ICE-Protokolle. Dieses Projekt ist eine Fortsetzung der Stun4J-Initiative. Ziel des Projekts ist es, VoIP-Java-Entwicklern den Umgang mit NATs und Firewalls zu ermöglichen.

es wurde von der sipcommunicator devs entwickelt.

+2

Vorsicht vor dem Mangel an Dokumentation für Ice4j – msj121

Verwandte Themen