2015-04-17 13 views
0

我觉得这个问题最好从场景的简化版本开始。如何通过nat从公共端创建套接字连接

服务器A连接到公共互联网。 服务器B位于专用网络中,并使用网络地址转换连接到互联网。 我拥有两台服务器,并可以编辑它们上的软件。 我知道服务器和NAT路由器的IP地址。

使用Winsock,我需要在它们之间创建一个连接。如果连接是从服务器B启动的,我对winsock的了解足够了解,但我需要服务器A来启动连接。

如果可能的话,我想避免使用额外的库,因为在我看来,我只需要弄清楚在启动连接时需要使用什么ip和端口服务器A.

我需要些什么额外信息?我如何获得它?以及如何处理这些信息。

注:我已经调查了其他类似的问题,但他们都没有解决这种情况。我不确定是否应该在服务器故障或其他站点上询问这个问题,但如果是这样的话,请说出哪一个标记为“脱离主题”,而不是无言地关闭问题。

回答

0

您需要在NAT设备上将端口转发设置为专用网络上的机器。确切的步骤是设备/制造商特定的,但这里有一般思路:

选择一个端口号,配置NAT设备,以便连接到其公有IP和该端口被转发到您的私有服务器的IP和端口你的应用程序在哪里听。

+0

感谢您的回复。我会考虑获取编辑路由器设置的权限。 –