2011-06-30 8 views
1

ファイル共有アプリケーションでは、TCP/IPソケットを使用したいと考えています。しかし、両方のクライアントがNATの背後にあるため、これは機能しません。したがって、私はUDPと穴あけの方法を使用しなければなりません。UDP(データグラム)を使用したJavaでのTCP実装

UDPは信頼できないので、私はTCPのようなプロトコルを実装する必要があります。私は川は必要ありません。メッセージベースのプロトコルは問題ありません。既にどこかで無料のJavaライブラリがありますか?そうでない場合は、抽象的なチュートリアル、そのようなプロトコルを実装する方法はありますか?

+0

(UDP上のTCP)はOpenVPNのが何をするかであること。私はJavaの実装があるかどうかはわかりませんが、プロトコルは簡単に利用できるはずです(実装が難しいかどうかはわかりません)。 – SJuan76

答えて

1

ファイアウォールの背後で2人のピアが通信できるようにするTCPホールパンチングを実装できます。 は最初
http://www.brynosaurus.com/pub/net/p2pnat/

、このリンクを経由して、TCP穴パンチでの問題は、それがUDP穴のに対し、市場で利用できるルータの60%で成功することができるということですthis.Butにさらにヘルプが必要な場合は質問を更新します打ち抜きは80-90%成功です。 well.httpとして

チェックアウトこのリンクを://stackoverflow.com/questions/917385/nat-traversal-with-java

0

この情報は役に立ちましたか?

http://www.syslog4j.org/

+0

実際はありません。 UDPNetSyslogクラスを調べました。しかし、単にUDPでメッセージを送信します。しかし、TCPはありません。途中でメッセージが失われたら、誰もこれに気づかないだろう。間違ったクラスを調べましたか? – Witek

1

あなたはUDPベースのメッセージ指向のプロトコルを検索する場合、私はTeleHashを検討したいです。利用可能なJavaライブラリもあります。

大量のバイナリデータを送信することに頼っているのであれば、間違った選択ですが、とにかくストリームベースのプロトコルを使用する方が良いかもしれません。

関連する問題