サーバーなしでインターネット経由でピアツーピア接続を確立する方法はありますか? アイデアは、ある PC から別の PC にファイルを送信することです。
2 に答える
インターネット上で P2P ネットワーキングを行うには、いくつかの問題に対処する必要があります。主に、NAT トラバーサルとファイアウォール。これらの問題に対処しないと、接続でエラーが発生しやすくなります。この目的には、既存の P2P フレームワークを使用するのが最善です。Java の主要なフレームワークの 1 つは、JXTA プロトコルのオープンソース実装である JXSE です。プロジェクトは現在中止されていますが、利用可能なドキュメントはたくさんあります。https://jxse.kenai.comを参照してください。
JXSE があなたの目的に対して重すぎる/複雑すぎる場合は、NAT トラバーサルまたはファイアウォール ホール パンチングの基本的な形式を実装する、より小さくて単純な P2P ライブラリを使用します。これはすべてのケースを説明しているわけではありませんが、特定のケースでは機能する可能性があります。これらのオープンソースの実装がいくつか利用可能です。Google で検索するか、GitHub を参照してください。
任意のポートでリッスンするソケットを開くアプリケーション (サーバー) を作成します。サーバーを実行しているホストの IP アドレスとポートに要求を送信する別のアプリケーション (クライアント) を作成します。