如何在NAT网络中获取我的服务器应用程序'公共端点(ip,端口)

时间:2011-08-07 18:23:32

标签: c++ networking boost-asio nat

我在NAT环境中启动我的服务器,并希望在公共网络中测试它, 我怎么才能得到它的地址?我正在使用boost :: asio来编写我的应用程序。

1 个答案:

答案 0 :(得分:0)

如果您想了解对等方的公共IP地址,您需要在公共网络中有一台服务器(不在任何NAT后面),连接到服务器并让服务器将客户端的IP地址发送回客户端。此网站(http://www.whatismyip.com/)以这种方式显示您的公共地址。因此,您的服务器需要连接另一台服务器,该服务器驻留在没有NAT的公共网络中。

但是,您的服务器无论如何都不应该在NAT环境中,因为NAT通常会阻止任何未从内部发起的传入连接。这意味着即使客户端知道您的服务器的公共地址,它也无法连接到NAT后面的服务器,因为NAT将阻止客户端的连接请求。