linux – 使用ZeroMQ的反向PUB / SUB问题
发布时间:2021-01-24 11:36:09 所属栏目:Linux 来源:互联网
导读:我正在尝试使用ZeroMQ设置“倒置”PUB / SUB. 意味着订阅(SUB)套接字属于多个长生命服务器,执行zmq_bind();和发布(PUB)套接字是一个短命的客户端,并执行zmq_connect(). 我使用单个ipc://套接字. 我希望发布商的消息能够覆盖每个订阅者. 问题:只有一个订阅者
我正在尝试使用ZeroMQ设置“倒置”PUB / SUB. 意味着订阅(SUB)套接字属于多个长生命服务器,执行zmq_bind();和发布(PUB)套接字是一个短命的客户端,并执行zmq_connect(). 我使用单个ipc://套接字. 我希望发布商的消息能够覆盖每个订阅者. 问题:只有一个订阅者进程收到消息.如果该进程终止,则发布者会陷入zmq_term(). 这种操作模式是否受zmq支持?如果是,那么我做错了什么?如果没有,那么如何实现我需要的东西? 带有一些额外细节的最小例子(在Lua中,但这不应该):https://gist.github.com/938429 解决方法你不能将多个套接字绑定到一个ipc://地址(我们在这里谈论Unix域套接字ipc:///tmp/test.ipc == file /tmp/test.ipc).您可以做的是将每个SUB套接字绑定到不同的ipc://地址,并让发布者将一个PUB套接字连接到每个这些地址. ZeroMQ允许一个套接字绑定/连接到多个地址. zmq_term()上的阻塞最有可能导致延迟关闭问题(即,存在PUB套接字尝试发送的消息).看看ZMQ_LINGER插座选项. (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c – 如何以编程方式获取linux中设备/分区的uuid?
- linux-kernel – 对于共享中断行,如何找到要使用的中断处理
- 使用私钥将TeamCity VCS Root与GitHub存储库连接
- linux – 向进程组的所有成员发送信号的最佳方法是什么?
- linux – 如何在gdb中搜索进程的所有内存?
- linux – 为什么`ls`每行列出多个文件,但`ls pipe / redire
- 如何将参数传递给Linux守护进程/服务
- linux – 如何在bash结尾处使用不带参数的getopts选项
- Linux C:如何在stdout之外显示我的文本应用程序输出?
- linux – su和sudo在shell脚本中