端口转发和 C++ Winsock 客户端-服务器应用程序

端口转发和 C++ Winsock 客户端-服务器应用程序

正如标题所述,我正在用 C++ 创建一个 TCP 客户端和一个服务器程序。我的问题是,当在两台单独的机器上运行客户端和服务器时,这些机器通过互联网上的不同防火墙路由器,哪个路由器的端口转发重要吗?例如,只有客户端机器使用的路由器才能转发正确的 TCP 端口并建立客户端服务器连接吗?

答案1

假设这些程序使用的所有 TCP 连接都是由客户端发起的,则服务器网络上的路由器将需要配置静态端口地址转换(将指定端口的所有连接转发到您的应用服务器)或者该服务器需要有自己的公共 IP。

客户端的路由器也需要执行端口地址转换,但可以动态执行。这通常不需要任何特殊配置。

如果您的服务器可以与客户端发起 TCP 会话,事情就会变得更加复杂。

相关内容