客户端/服务器设置仅在同一台计算机上运行
Client/Server setup only works when on same machine
我有两个应用程序。一个是服务器应用程序,另一个是客户端应用程序。服务器应用程序侦听连接,然后向所有连接的客户端提供消息。
到目前为止,我所有的测试都是通过在同一台机器上运行两个应用程序来完成的,而且运行良好。不过,现在我正在尝试测试在一台机器上运行的服务器和在另一台计算机上运行的客户端。
这些机器中的每一台都在我自己的家庭网络中。该网络位于带防火墙的路由器后面。据我所知,我的问题可能与路由器上没有设置端口转发有关。听起来可能吗?
这是我只需要代码就能解决的问题吗?我真的必须要求所有用户手动打开防火墙上的端口吗?我使用了许多其他商业应用程序,这些应用程序连接到服务器,不需要我打开防火墙上的端口。这些应用程序和我的有什么不同?
再说一遍,也许我找错树了。也许还有其他问题阻止我的代码在这种情况下工作?
我可以提供任何可能有帮助的代码片段,但我不确定从哪里开始寻找,我不想只发布我的整个解决方案:)
提前感谢
您需要绑定到0.0.0.0(简化版本)才能接受非本地机器的连接。你检查过你没有绑定到127.0.0.1吗?
当你绑定到0.0.0.0时,你实际上绑定到了当前主机的所有当前和未来地址,因此可以接受来自任何地方的连接,你也可以只绑定到其中一个网络接口的地址。
相关文章:
- 我的 SDL2 程序需要哪些二进制文件,以便它在另一台未安装 SDL2 的计算机中工作
- 在另一台 PC 上执行程序时加载 SDL2 共享库时出错
- 另一台电脑上的Visual Studio C++项目无法生成
- Homebrew OS X OpenCV - 在另一台Mac上运行时寻找dylib
- 当我在支持 avx2 的机器上编译并在另一台仅支持 avx 的机器上运行二进制文件时会发生什么?
- 如何在另一台未安装 Visual Studio 的计算机中使用由 Visual Studio 生成的 dll
- 在另一台计算机中运行 GTKMM 代码时未定义的符号
- 将Visual Studio C 构建的中间文件移至另一台计算机
- 为什么我的Glreadpixels程序在另一台计算机中不起作用
- 在另一台计算机MFC C++上不进入while循环
- 我可以将TokenPrivileges数组从一台计算机复制到另一台计算机吗
- 从另一台计算机运行opencv可执行文件
- 通过网络直接从另一台计算机的内存中读取文件
- fwrite在一台计算机上浮动,在另一台计算机中浮动
- 在C++中使用 zeromq 将序列化的 Mat 对象发送到另一台计算机
- 一台计算机中出现 msvs 2013 错误 C2057,另一台计算机中没有错误。这是怎么回事?
- 使用蓝牙将陀螺仪数据传输到另一台计算机
- 使用脉冲编码调制从一台计算机到另一台计算机的数据传输
- 如何在另一台计算机(linux)上使用OpenCV运行c++库
- 在局域网上选择一台计算机作为服务器