8

私は、lidgen-network ライブラリ 3 を使用して、ピア ツー ピア接続を作成しようとしています。私はネットワークプログラミングが初めてなので、このライブラリを使用しています。

DiscoverKnownPeer() 関数を使用して、ネットワーク内で接続できました。私がオンラインで読んだことは、ルーターの外部にある実行中のサーバーを必要とする NAT パンチスルーを実行する必要があるということです。この余分なサーバーを必要としないソリューションを期待しています。

両方の IP アドレスを Web サーバーに保存し、Web サービスを作成して、XML を介してそれぞれのクライアントに IP を送信できる場合、ピア ツー ピア接続を作成できますか?

前もって感謝します。

4

2 に答える 2

4

いいえ、ランデブー サーバーがないと、NAT 経由で接続を確立することはできません。

IPアドレスを知っていても、ルーターまでしか到達しないため、NATは邪魔になります。ルーターはインターネットからのリクエストを受け取り、それを送信する内部 IP がわからないため、それを破棄します。

NAT パンチスルーは、両方のピアが発信要求を相互に送信することによって機能し、ルーターは、指定されたポートのパブリック IP に向けられたパケットが指定されたコンピューターに送信されることを「認識」します。

したがって、両方のコンピューターを NAT の背後にない外部サーバーに接続し、その外部サーバーを使用して、2 つの NAT 隠蔽ピアを一緒に接続するように調整する必要があります (これは、Lidgren が組み込んだピア導入機能です)。

于 2011-03-04T03:37:31.360 に答える
0

私はこれが古いことを知っていますが...

セットアップでDiscoverKnownPeer()を使用する必要があることを指定していません。そうでない場合は、ルーターにポート転送ルールを適用することでピアツーピアを設定できます。

于 2011-05-02T19:15:36.190 に答える