将一台设备的 Tcp Client 连接到另一台设备的 Tcp Server

Connecting Tcp Client from one device to Tcp Server in another device

我正在使用的 Tcp client/server 代码在这里:client and server。 正如标题所说,我是 运行 我计算机上的服务器代码,我想使用客户端代码从另一台设备连接到它。我的问题是,我的客户端代码必须连接到哪个 IP 地址?我知道有很多相关的帖子,但我只是得到有关错误信息而不是解决方案的信息。

这是开发 client/server 应用程序时的常见问题。在典型的家庭网络中,有多个本地 IP 地址和一个外部 IP 地址。从外部与您的网络通信的所有设备都必须使用外部 IP 地址。但是,在编写 client/server 应用程序时,如果您只是简单地输入外部 IP 地址作为要连接的地址,您很快就会发现这是行不通的。

您需要使用端口转发。客户端和服务器将通过特定端口进行通信,而端口转发是您的路由器在客户端连接到外部 IP 地址时知道将数据发送到哪个本地 IP 地址的方式。您想要登录到您的路由器设置,导航到有关端口转发的部分,并指定通过您在服务器中使用的端口进行的通信应该重定向到您的服务器 运行 所在的本地 IP 地址。具体如何更改路由器上的这些设置取决于您使用的路由器。

运行 在机器 运行 您的服务器上的 Windows 命令提示符中的 ipconfig 命令。从结果中获取本地 IPv4 地址。这是在端口转发您的 client/server 应用程序使用的端口时使用的地址。相应地调整您的路由器设置,然后您的客户端应该能够正常使用您的外部 IP 地址。

要查找您的外部 IP 地址,http://www.whatsmyip.org/ 等任何网站都应该可以正常工作。

如果你想暂时避免所有这些问题,并简单地在你的家庭网络上测试你的应用程序,那么使用当 运行 你的服务器机器上的 ipconfig 命令时找到的本地 IPv4 地址 运行上。请注意,这仅在客户端和服务器都在同一网络上 运行 时才有效。