2

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

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

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

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

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

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

先感谢您

4

1 回答 1

3

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

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

于 2012-10-14T20:26:49.570 回答