因此,我一直在研究NAT-Punchthrough。我似乎有了想法,但我很难实现它,感觉我在这里缺少一步。
测试这个功能有点难,因为我在基于互联网的连接方面的环境控制很少。
我有一个SQL服务器可以作为我的“协调器”,它保留了服务端和客户端的外部地址及其端口。
到目前为止,以下是步骤: - 我通过Web请求(PHP脚本)连接到我的SQL服务器,该请求存储服务器/客户端IP/PORT - 当两者都已知时,客户端和服务器尝试连接(服务器在设定端口上托管,客户端通过设定端口连接) - 没有发生重大事件
这里有2个未知数,我想与你检查其中之一。 是否真的需要使用我计划在之后的步骤中使用的确切(内部/LAN)端口来执行第一步NAT-Punchthrough?
如果是这样,我不知道我的服务器在水下如何工作,所以它可能需要更多的端口比我最初给出的静态端口来连接,但那至少给了我一个提示。
如果有人对此有更多文档,请告诉我。
来源:
编写P2P应用程序
http://www.mindcontrol.org/~hplus/nat-punch.html
我有一个SQL服务器可以作为我的“协调器”,它保留了服务端和客户端的外部地址及其端口。
到目前为止,以下是步骤: - 我通过Web请求(PHP脚本)连接到我的SQL服务器,该请求存储服务器/客户端IP/PORT - 当两者都已知时,客户端和服务器尝试连接(服务器在设定端口上托管,客户端通过设定端口连接) - 没有发生重大事件
这里有2个未知数,我想与你检查其中之一。 是否真的需要使用我计划在之后的步骤中使用的确切(内部/LAN)端口来执行第一步NAT-Punchthrough?
如果是这样,我不知道我的服务器在水下如何工作,所以它可能需要更多的端口比我最初给出的静态端口来连接,但那至少给了我一个提示。
如果有人对此有更多文档,请告诉我。
来源:
编写P2P应用程序
http://www.mindcontrol.org/~hplus/nat-punch.html