2

私は IRC を介して簡単なファイル転送プログラムを作成していましたが、読んでいると、ファイルを共有するときに IRC がサーバーから独立した 2 人のユーザー間に直接接続を作成することがわかりました (DCC、Direct Client Connect)。しばらく検索した後、これを見つけました: Direct ConnectおよびAdvanced Direct Connect

これらのページのどれも、私が頭から離れないこの質問に答えていません: P2P データ転送は、ユーザーが特別なポート転送を行わなくても可能ですか? (IRC の例のように) 接続のセットアップを支援する中間サーバーが許可されます。データ転送自体は、サーバーから独立している必要があります。

4

2 に答える 2

4

はい - 外部サーバーに接続要求を転送してもらうことができる場合は、直接接続をセットアップするために使用できる、いわゆるホール パンチング手法があります。このテクニカル ペーパーには、より詳細な説明があります。

これらは必ずしもすべてのNAT で機能するわけではありませんが、かなり多くの NAT で機能することに注意してください。

于 2011-01-14T15:03:02.390 に答える
1

Practical JXTA II (Scribd で読むことができます) には、NAT トラバーサルを実行するテクニックを説明する章があります。ホール パンチングは、NAT トラバーサルを実行する手法のサブセットです。

于 2011-02-10T04:20:09.287 に答える