我在 NAT 环境中启动我的服务器,并想在公共网络中对其进行测试,我怎样才能获得它的地址?我正在使用 boost::asio 来编写我的应用程序。
问问题
532 次
1 回答
0
如果你想知道peer的公共IP地址,你需要在公共网络中拥有一台服务器(不在任何NAT之后),连接到服务器并让服务器将它看到的客户端IP地址发送回客户端。该站点 ( http://www.whatismyip.com/ ) 以这种方式显示您的公共地址。因此,您的服务器需要连接另一台位于公共网络中的服务器,而无需 NAT 参与。
但是,您的服务器无论如何都不应该处于 NAT 环境中,因为 NAT 通常会阻止任何不是从内部对等方发起的传入连接。这意味着即使客户端知道您服务器的公共地址,它也无法连接到 NAT 后面的服务器,因为 NAT 会阻止客户端的连接请求。
于 2011-08-07T19:34:55.073 回答