客户端/服务器设置仅在同一台计算机上运行

Client/Server setup only works when on same machine

本文关键字:一台 计算机 运行 服务器 设置 客户端      更新时间:2023-10-16

我有两个应用程序。一个是服务器应用程序,另一个是客户端应用程序。服务器应用程序侦听连接,然后向所有连接的客户端提供消息。

到目前为止,我所有的测试都是通过在同一台机器上运行两个应用程序来完成的,而且运行良好。不过,现在我正在尝试测试在一台机器上运行的服务器和在另一台计算机上运行的客户端。

这些机器中的每一台都在我自己的家庭网络中。该网络位于带防火墙的路由器后面。据我所知,我的问题可能与路由器上没有设置端口转发有关。听起来可能吗?

这是我只需要代码就能解决的问题吗?我真的必须要求所有用户手动打开防火墙上的端口吗?我使用了许多其他商业应用程序,这些应用程序连接到服务器,不需要我打开防火墙上的端口。这些应用程序和我的有什么不同?

再说一遍,也许我找错树了。也许还有其他问题阻止我的代码在这种情况下工作?

我可以提供任何可能有帮助的代码片段,但我不确定从哪里开始寻找,我不想只发布我的整个解决方案:)

提前感谢

您需要绑定到0.0.0.0(简化版本)才能接受非本地机器的连接。你检查过你没有绑定到127.0.0.1吗?

当你绑定到0.0.0.0时,你实际上绑定到了当前主机的所有当前和未来地址,因此可以接受来自任何地方的连接,你也可以只绑定到其中一个网络接口的地址。