Python 中的 ZeroMQ 和多个订阅过滤器

2024-06-28

我想使用一个套接字使用 Python 中的 ZeroMQ 订阅多个过滤器。

sock.setsockopt(zmq.SUBSCRIBE, 'first.filter')
sock.setsockopt(zmq.SUBSCRIBE, 'second.filter')

但这行不通。仅考虑第一个。然而,我读到了这篇文章零MQ网站 http://api.zeromq.org/2-2:zmq-setsockopt:

多个过滤器可以连接到一个ZMQ_SUB套接字,在这种情况下,如果消息与至少一个过滤器匹配,则应接受该消息。

我正在使用 zmq 2.2.0.1。所以,我想知道如何做到这一点。有任何想法吗?


这有效:

import time
import zmq

ctx = zmq.Context()
pub = ctx.socket(zmq.PUB)
sub = ctx.socket(zmq.SUB)

url = "tcp://127.0.0.1:5555"
pub.bind(url)
sub.connect(url)

# subscribe to 'a' and 'b'
sub.setsockopt(zmq.SUBSCRIBE, b'a')
sub.setsockopt(zmq.SUBSCRIBE, b'b')

time.sleep(1)

for word in [ 'alpha', 'beta', 'gamma', 'apple', 'carrot', 'bagel']:
    pub.send(word)

time.sleep(1)

for i in range(4):
    print sub.recv(zmq.NOBLOCK)

给出输出:

alpha
beta
apple
bagel

所以这两种订阅都有效。你的具体代码是什么?因为也许这是另一个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的 ZeroMQ 和多个订阅过滤器 的相关文章

随机推荐

  • 在 Interface Builder 中设置 UIImageView 的图像

    当我在 IB 中为 UIImageView 设置图像并模拟界面时 按钮和内容会显示 但图像视图不会显示 这是因为 Interface Builder 使用的模拟器独立于您的项目 它只是获取 xib 文件 构建界面并显示它 因此 它找到引用但
  • 不使用 JS 防止图像可拖动或可选择

    有谁知道如何在 Firefox 中同时使图像不可拖动且不可选择 而不需要求助于 Javascript 看似微不足道 但问题是 可以在 Firefox 中拖动并突出显示 所以我们添加了这个 但是拖动时图像仍然可以突出显示 所以我们添加这个来解
  • 如何在 .map 函数中访问张量形状?

    我有多个长度的音频数据集 我想在 5 秒窗口内裁剪所有音频 这意味着 240000 个元素 采样率为 48000 因此 加载 tfrecord 后 我正在执行以下操作 audio sr tf audio decode wav image d
  • 测试 JavaScript 中是否有未定义的内容

    我正在查if response 0 title undefined 但我收到错误 未捕获的类型错误 无法读取未定义的属性 标题 response 0 未定义 检查是否已定义 然后检查其属性标题 if typeof response 0 un
  • Kotlin 不理解 ViewModelProviders.of(activity ?:fragment)

    在我的里面Fragment我初始化一个ViewModel using ViewModelProviders 我想让它采取它的Activity if not null 否则本身 Fragment private val viewModel M
  • 报告已完成的冲刺

    想要构建一份报告 显示每个团队成员在每个已完成的 Sprint 中的贡献百分比 我们将工作分解为 任务 并分配 剩余工作 值来指示所需的时间 那么问题是 随着冲刺的进行 剩余价值是明确的或减少的 一直在寻找一种方法来找到原始剩余价值 这样我
  • IntelliJ、Akka 和配置文件

    使用时akka http akka io 我放置akka conf in src main resources 当我run通过 sbt akka conf被正确识别 但当我运行 IntelliJ 时却没有 即使在gen idea 实现这一目
  • 围绕 glutMainLoop 执行程序的其余部分?

    我目前正在开发一个项目 其中有一个 android 应用程序 我在 PC 上的 OpenGL 窗口中编写了控件和对象 我已经让 OpenGL 窗口执行我想要的操作 并且我从 Android 设备获取了数据以流式传输到终端 但是我需要将数据传
  • 如何知道我正在使用 ndk-build 构建哪个 API 级别?

    我试图更好地理解使用 ndk build 时 api 级别的选择是如何工作的 我知道我可以明确设置APP PLATFORM in 应用程序 mk 否则 ndk build 将针对清单中指示的 apiandroid minSdkVersion
  • 尝试计算盒子的分数时小数精度损失

    我有一个场景 我有一个包含 3 个罐头的标准盒子 出于显示和查询的目的 我必须以其标准配置的十进制数量进行报告 不可能说1盒3罐 1盒2罐 等等 例如 最初我会有1盒3罐然后我移除 1 个罐子 结果是0 66 循环盒 3 罐然后我再移除 1
  • 在会话中检索并保存 gridview

    当我在文本框中写入我的名字时 我有一个用于搜索的页面 例如 它将搜索并在 GridView 中显示结果 我正在使用一个EntityDataSource with a QueryExtender所以我没有用C 编写任何代码 问题是 在 Gri
  • 使用 toYaml 进行 helm 模板化

    我有values yml 文件 它接受具有以下格式和默认值的端口列表 Ports number 443 protocol http 输出用作输入的端口列表的脚本给出了以下格式 port list get ports sh output 80
  • 在我自己的自定义 appSettings 上使用 foreach 所需的代码

    我搜索了该网站 但没有找到我想要的内容 接近 但没有雪茄 基本上我想要一个像这样的配置部分
  • 有没有文档描述 Clang 如何处理过多的浮点精度?

    当唯一允许使用的浮点指令是 387 指令时 几乎不可能 以合理的成本提供严格的 IEEE 754 语义 当人们希望让 FPU 工作在完整的 64 位有效数上时 这尤其困难 以便long double类型可用于扩展精度 通常的 解决方案 是以
  • 我可以通过 ssh 将 ssh 用户名与 git 的提交关联起来吗?

    我正在尝试通过 ssh 设置共享 git 存储库 将用户公钥复制到authorized keys 我真的希望 ssh key 中的 用户名 成为存储库中提交历史记录的一部分 这样用户 joe 就不能将他的名字设置为 kate 我们需要某种责
  • 如何清除Android应用程序中的所有活动

    我的应用程序有许多可以按任何顺序调用的活动 活动历史示例 A gt B gt C gt D gt A gt B gt E 现在在活动 E 中 我正在 注销 设备 注销用户 并删除他们可能已下载到 SD 卡的任何数据 期望的行为是应用程序 重
  • 使用 C 与 OpenMP 求和

    我已经尝试并行化这段代码大约两天了 但一直出现逻辑错误 该程序是使用非常小的 dx 之和来求积分的面积 并计算积分的每个离散值 我正在尝试使用 openmp 来实现这一点 但实际上我没有使用 openmp 的经验 我需要你的帮助 实际目标是
  • javascript - 全局变量不起作用

    我想保存一个变量 以便多个函数可以使用它 我按照 w3schools 的指示进行操作 但不起作用 我是不是忘记了什么 先感谢您 var name document getElementById name value function com
  • 将 bash 脚本转换为 python(小脚本)

    我有一个在 Linux 环境中使用的 bash 脚本 但现在我必须在 Windows 平台上使用它 并且希望将 bash 脚本转换为可以运行的 python 脚本 bash 脚本相当简单 我认为 我尝试通过 google 转换它 但无法成功
  • Python 中的 ZeroMQ 和多个订阅过滤器

    我想使用一个套接字使用 Python 中的 ZeroMQ 订阅多个过滤器 sock setsockopt zmq SUBSCRIBE first filter sock setsockopt zmq SUBSCRIBE second fil