gpt4 book ai didi

zeromq - 在 zeromq 中结合 pub/sub 和 req/rep

转载 作者:行者123 更新时间:2023-12-04 00:48:14 26 4
gpt4 key购买 nike

客户端如何使用 zeromq 订阅和收听回复?
也就是说,在客户端我想运行一个循环,它只接收消息并有选择地发送请求,在服务器端我想大部分时间都发布,但有时也接收请求。
看起来我必须有两个不同的套接字 - 每个通信模式一个。是否有可能避免这种情况,并在服务器端从 zeromq 回调线程上的套接字接收“请求通知”,同时将消息推送到我自己线程中的套接字?

最佳答案

我对 ZeroMQ 非常陌生,所以我不确定您想要的是否被认为是最佳实践。但是,使用 zmq_poll 使用多个套接字的解决方案非常简单。 .

基本思想是同时拥有客户端和服务器:

  • 为发布/订阅打开一个套接字
  • 为 req/rep 打开一个套接字
  • 使用 zmq_poll 在循环中的两个套接字之间进行多路发送和接收在无限循环中
  • 在循环中处理 req/rep 和 pub/sub 事件

  • 使用 zmq_poll以这种方式使用多个套接字很好,因为它完全避免了线程。 0MQ 指南有一个 good example here .请注意,在该示例中,它们使用的超时时间为 -1zmq_poll ,这会导致它阻塞,直到在任何多路复用套接字上至少发生一个事件,但如果您的循环还需要做一些其他工作,使用 x 毫秒的超时或其他东西是很常见的。

    关于zeromq - 在 zeromq 中结合 pub/sub 和 req/rep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717874/

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