gpt4 book ai didi

c++ - Zeromq:使用 Linux [REP] 和 Windows [REQ] 连接,没有消息到达

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:27 32 4
gpt4 key购买 nike

我正在尝试使用 ZeroMQ 的 REQ/REP 模式将消息从 Windows 客户端发送到 Linux 服务器。服务器端代码是hwserver.cpp 0MQ 指南示例中的代码。对于客户端,我还使用示例代码 hwclient.cpp .

现在手头的问题如下。如果我使用 Linux 服务器和客户端,我可以发送消息、接收消息并发回回复,该回复也会被接收。当服务器和客户端都在 Windows 中运行时,我也可以接收和发送消息。如果服务器在 Windows 中运行并且客户端在 Linux 中运行,它也可以工作。这些测试让我认为我至少拥有正确的 IP 地址。

当我尝试使用 Linux 服务器和 Windows 客户端时,发送的消息不会到达服务器。我不知道什么会导致这种情况,因为 Windows 服务器 + Linux 客户端的反向工作完美。我找到了similar question但那里发布的解决方案不起作用。

我使用带 g++ 4.8.3 的 Fedora 20 和带 Microsoft Visual Studio 2013 的 Windows 8。

进行这种 0MQ 连接时是否有必须标记的选项?

最佳答案

一旦 ZeroMQ 版本号匹配,Window$ 就不需要任何进一步的“魔法开关”

注:

socket.connect ("tcp://<_aUbuntuHOST_IpADRESS_>:5555"); // Do W8 allow outbound tcp:5555 connection in the security policy in effect?

您可以证明 Win 集成防火墙策略(显式安全设置允许异常(exception))确实允许进程在指定端口号上请求并使用传出 tcp 连接吗?

可以在 REQ/REP 端反转 .bind()/.connect() ,以保持与 Ubuntu.REQ (使用 .connect() )和 W8.REP (使用 .bind() 时相同的情况),因此 W8.REQ 将再次 .bind() (您报告工作正常),而 Ubuntu.REP.connect()

关于c++ - Zeromq:使用 Linux [REP] 和 Windows [REQ] 连接,没有消息到达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25227346/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com