2011-08-07 28 views

回答

0

如果你想知道对方的公网IP地址,你需要在公网中有一台服务器(不在任何NAT后面),连接服务器并让服务器发送客户端的IP地址给客户端。这个网站(http://www.whatismyip.com/)以这种方式显示你的公开地址。因此,您的服务器需要连接驻留在公共网络中的另一台服务器,而无需使用NAT。

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

+0

对于nat客户端,它会好吗,对服务器来说是一样的吗?无论如何,服务器只是一个套接字监听器。我认为NAT将本地地址转换为其他公共IP和端口,我只是不知道如何获得服务器的公共地址。 – xiaofeng

+0

如果您的程序是服务器或客户端,则NAT不会(无法关心)。你会如何区分NAT?另外,NAT不仅仅是转换IP地址。这就是为什么有可能NAT穿越技术。 http://en.wikipedia.org/wiki/NAT_traversal – young

相关问题