gpt4 book ai didi

c++ - ZeroMQ PGM Multicast 不支持来自应用层的回复处理?

转载 作者:行者123 更新时间:2023-11-30 05:13:48 24 4
gpt4 key购买 nike

我已经完成了一个示例 ZeroMQ PGM 多播应用程序,它运行良好。

但是回复处理不起作用。 这种方法是否正确?
如果是 - 如何从接收方回复发送方?

发件人:

std::string msg = "hello";
socket->send(msg.c_str(),msg.length(),0);
socket->recv(reply); // Can we do this?

接收方:

char msg[100] = {0};
std::string reply = "Succ";
socket->recv(msg,100,0);
socket->send(reply.c_str(),reply.length(),0); // Can we do this?

最佳答案

是,不是!

是的,ZeroMQ pgm:// 传输类不支持这个。

不,我们不能这样做。 SUB 端的 .send().recv( )PUB 端。

ZeroMQ API Specification says:

The pgm and epgm transports can only be used with the ZMQ_PUB and ZMQ_SUB socket types.

ZMQ_SUB 原型(prototype)不允许任何.send() 方法。
ZMQ_PUB 原型(prototype)不允许任何.recv() 方法。

Q.E.D.


那么,如何做到这一点,从而创建一个bi-directional signalling

还必须添加另一个套接字,最有可能使用 tcp:// 传输类,通过它可能会发生反馈信号。

enter image description here

ZeroMQ 的反向 .bind()/.connect() 机制是执行此操作的常见做法在非结构化、形式上不受控制/配置策略未强制执行的分布式计算基础设施中。

关于c++ - ZeroMQ PGM Multicast 不支持来自应用层的回复处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43757885/

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