サーバーを NAT 環境で起動し、パブリック ネットワークでテストしたいのですが、そのアドレスを取得するにはどうすればよいですか? boost::asio を使用してアプリを作成しています。
1 に答える
0
ピアのパブリック IP アドレスを知りたい場合は、パブリック ネットワーク (NAT の背後ではなく) に 1 つのサーバーを配置し、サーバーに接続して、サーバーがクライアントの IP アドレスをクライアントに送信できるようにする必要があります。このサイト ( http://www.whatismyip.com/ ) では、この方法で公開アドレスが表示されます。そのため、サーバーは、NAT が関与しないパブリック ネットワークに存在する別のサーバーに接続する必要があります。
ただし、NAT は通常、内部ピアから開始されていない着信接続をブロックするため、サーバーを NAT 環境に配置しないでください。つまり、クライアントがサーバーのパブリック アドレスを知っていても、NAT がクライアントの接続要求をブロックするため、NAT の背後にあるサーバーに接続できません。
于 2011-08-07T19:34:55.073 に答える