0

私は自分の IP アドレスと友人の IP アドレスを知っています。2 台のマシン間でオブジェクトやファイルを転送するにはどうすればよいですか? 私は高度な Java プログラマーですが、これまでネットワークを扱ったことはありません。

編集: jnmp2p ( http://code.google.com/p/jnmp2p/ ) という API を使用しています。内部 IP を使用すると問題なく動作しますが、外部 IP を使用すると失敗します。

プライベート ネットワークにないコンピュータに接続するにはどうすればよいですか?

4

2 に答える 2

4

2 つの Java アプリケーション間の通信を探していて、低レベルのネットワークの詳細に干渉したくない場合は、扱っているアプリケーションのタイプに応じて、次の 2 つの方法を使用できます。

  • 両方のアプリケーション (2 台のマシン上) が Java スタンドアロン アプリケーションである場合は、 RMIが最適です。これらのリンクから基本を確認してください ( 12 )
  • アプリケーション(ファイル/オブジェクトを受信する)がWebアプリケーションの場合、サーバー側でサーブレットを作成してから、ファイル/オブジェクト(バイナリ)をサーバーに送信するクライアントアプリケーションを作成できます。Commons FileUploadは、この目的で非常に人気のあるライブラリです。
于 2012-11-08T08:19:30.143 に答える
0

jnmp2p の作者はこちら。他のことに移ったので、私はもうライブラリを維持していません。しかし、いくつかのコメントがありました。

プライベート ネットワーク外の IP とのピア ツー ピア通信は難しい問題です。これは、両端のステートフル NAT とファイアウォールが一般的になり、マシン間の直接接続を確立できないためです。

たとえば、スカイプは、両方のマシンが 3 番目のマシンへのアウトバウンド接続を開始し、それを介して通信するランデブー サービスを使用します。ピア ツー ピア ソリューションが NAT 内のサブネットに制限される追加のインフラストラクチャを設定することは別として、JNMP2P や RMI (大幅な変更を加えたもの) などのソリューションが最善の策になります。

于 2013-01-25T08:33:59.583 に答える