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

时间:2012-10-14 20:23:56

标签: c++ c sockets networking

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

到目前为止,我所有的测试都是通过在同一台机器上运行这两个应用程序来完成的,而且这个工作正常。现在虽然我正在尝试测试在一台机器上运行的服务器以及在不同机器上运行的客户端。

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

这是我可以用我的代码解决的问题吗?我是否真的必须要求所有用户手动打开防火墙上的端口?我已经使用了大量连接到服务器的其他商业应用程序,并且不需要我在防火墙上打开端口。那些应用程序与我的有什么不同?

然后,也许我在这里咆哮错误的树。也许还有一些其他问题阻止我的代码在这种情况下工作?

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

提前谢谢

1 个答案:

答案 0 :(得分:3)

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

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