zeromq相关内容

使用 zeromq PUB/SUB 套接字检索订阅者计数

是否可以从 zeromq 中的 PUB 套接字获取订阅者总数? 谢谢! 解决方案 是的,但不幸的是不是通过任何简单的属性或方法. 您需要使用 zmq_socket_monitor() 函数来连接一个inproc 服务套接字到您要观察的主套接字.从那里您可以收听有关连接/断开连接的事件并保持自己的订阅者数量.不过,这可能不是一项微不足道的任务,因为(至少对我而言)似乎有点难以知道 ..
发布时间:2021-10-05 19:02:01 其他开发

有什么方法可以判断 ZeroMQ 消息来自哪里?

我有一个 ZeroMQ 套接字,它从不同机器上的多个进程接收数据.在不改变数据内容的情况下,有没有办法识别数据的来源?具体来说,如果来自 TCP 连接,我想要发件人的 IP 地址. 解决方案 不,没有办法从 ZeroMq 套接字获取发件人 IP.该信息隐藏在 ZeroMq 的实现层中.您有多种选择来解决这个问题,一种是更改正在传递的消息并将发件人 IP 添加到消息本身,另一种是使用多部分消 ..
发布时间:2021-10-05 19:01:59 其他开发

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

我想在 Python 中使用 ZeroMQ 订阅多个过滤器,使用一个套接字. sock.setsockopt(zmq.SUBSCRIBE, 'first.filter')sock.setsockopt(zmq.SUBSCRIBE, 'second.filter') 但这行不通.只考虑第一个.但是,我在 zeromq 站点 上阅读了此内容: 多个过滤器可以附加到单个 ZMQ_SUB 套接字 ..
发布时间:2021-10-05 19:01:52 Python

你知道有哪些项目使用了 ZeroMQ?成功和失败的故事都很有价值

我对在项目中使用 ZeroMQ 感兴趣,但我想听听其他人的经验.我做了一些搜索,但只找到了 mongrel2 项目.您是否听说过使用它的其他项目?哪些公司在生产中使用 ZeroMQ? 解决方案 我们用 ZeroMQ 替换了 Unix 命名管道的使用.通信开销同样不明显.我们还获得了额外的好处: 邮件大小没有限制. 能够将消息发送到远程邮箱. 无需为非阻塞发送编写我们自己的线程. ..
发布时间:2021-10-05 19:01:49 其他开发

Python多处理问题?

我有一个包含 500 个输入文件的文件夹(所有文件的总大小约为 500[MB]). 我想编写一个执行以下操作的 python 脚本: (1)将所有输入文件加载到内存中 (2) 初始化一个空的 python 列表,稍后将使用该列表......参见项目符号 (4) (3) 启动 15 个不同的(独立的)进程:每个进程都使用相同的输入数据 [来自 (1)] -- 但使用不同的算法 ..
发布时间:2021-10-05 19:01:46 Python

Python ZeroMQ 推/拉——丢失消息?

我正在尝试在 PUSH/PULL 模式下使用 python 和 zeroMQ,发送大小为 4[MB] 每隔几秒. 出于某种原因,虽然看起来所有消息都已发送,但服务器似乎只收到了其中的一些.我在这里缺少什么? 这是客户端的代码——client.py 导入zmq导入结构# 定义一个大小为 4[MB] 的字符串msgToSend = struct.pack('i', 45) * 1000 ..
发布时间:2021-10-05 19:01:43 Python

将 ZeroMQ 与 C# 与 inproc 传输一起使用

我正在试验 ZeroMQ 并尝试让 某些东西 工作.我的第一个想法是使用 inproc 传输设置 REP/REQ 以查看是否可以在两个线程之间发送消息.以下大部分代码取自 clzmq 示例,但似乎不起作用. 服务器和客户端都绑定到传输,但是当客户端尝试执行 Send 时,它会阻塞并坐在那里.我没有 ZeroMQ 经验,所以我不确定首先要看哪里,任何帮助将不胜感激.这是违规(攻击性)代码: ..
发布时间:2021-10-05 19:01:40 C#/.NET

如何让 zeromq PUB/SUB 丢弃旧消息而不是新消息(对于实时提要)?

假设我有一个PUB服务器,它zmq_send()向SUB 客户端.如果客户端很忙并且不能zmq_recv() 足够快的消息,那么消息将在客户端(和/或服务器)中缓冲. 如果缓冲区变得太大(高水位线),那么新消息将被丢弃.对于实时消息,这与人们想要的相反.应删除旧消息,为新消息腾出位置. 有没有办法做到这一点? 理想情况下,我希望 SUB 客户端的接收队列为空或仅包含最新消息.当收 ..
发布时间:2021-10-05 19:01:37 其他开发

如何在桌面应用程序中使用 zeroMQ

我在桌面应用程序中工作,其中应用程序部署在 windows 和 mac 平台上.作为应用程序的一部分,它应该与本机层通信.目前本机层和Java 层之间的通信是使用套接字完成的.最近团队中有人建议使用 zeroMQ.你们中的任何一个都可以澄清我的疑问. zeroMQ 比套接字好在哪里 是否可以将 zeroMQ 库安装为桌面客户端安装的一部分 我浏览了链接“https://github.co ..
发布时间:2021-10-05 19:01:35 Java开发

ZeroMQ PUB 套接字在连接时缓冲我所有的输出数据

我注意到一个 zeromq PUB 套接字将缓冲所有传出数据,例如,如果它正在连接 导入zmq导入时间上下文 = zmq.Context()# 创建一个 PUB 套接字pub = context.socket (zmq.PUB)pub.connect("tcp://127.0.0.1:5566")# 连接前推送一些消息# 他们应该被删除对于范围内的 i(5):pub.send('一条消息不应该被 ..
发布时间:2021-10-05 19:01:32 Python

ZMQ PUB 发送文件

我第一次尝试 (PY)ZMQ,想知道是否可以使用 PUB/SUB 发送完整的 FILE(二进制)?我需要向许多订阅者发送数据库更新.我看到了短消息的例子,但没有看到文件.可能吗? 出版商: 导入zmq导入时间导入操作系统导入系统为真:打印“循环"msg = 'C:\TEMP\personnel.db'# 准备上下文 &出版商上下文 = zmq.Context()发布者 = context. ..
发布时间:2021-10-05 19:01:29 Python

了解 ZeroMQ

因此,正如我在之前的帖子中所问的那样,我希望能够使用不同语言编写的程序或函数能够在它们之间进行通信. 我最近遇到了 zeromq,我试图弄清楚这是否可以帮助我,因为它提供了某种套接字.例如,zeromq 可以在用 python 编写的程序与用 C++ 编写的程序或函数之间交换数据(或传递参数),还是它的功能完全不同? 解决方案 A: 哦,是的,这正是 ZeroMQ 或 nanomsg ..
发布时间:2021-10-05 19:01:20 其他开发

使用 PyZMQ 限制队列长度

我想限制 Python 应用程序中 ZeroMQ 消息队列消耗的内存量.我知道设置高水位会限制发送方排队的数量,但是有没有办法控制接收方排队的数量?Python ZeroMQ 绑定似乎将其设置为无限制. 我的测试场景:我有两个用于测试的 Python 终端.一个是接收方: Python 2.5.1(r251:54863,2008 年 8 月 25 日,20:50:04)[GCC 4.1.2 ..
发布时间:2021-10-05 19:01:17 Python

零 mq:socket.recv() 调用被阻塞

我正在尝试使用零-mq.我的要求很简单.我希望能够在网络中的两个对等点之间进行通信.我在书中的示例中遇到了这个程序. $ pub_server.py 导入zmq随机导入导入系统导入时间端口 = "5556"如果 len(sys.argv) >1:端口 = sys.argv[1]内部(端口)上下文 = zmq.Context()socket = context.socket(zmq.PUB) ..
发布时间:2021-10-05 19:01:12 Python

检测 ZeroMQ 队列中丢弃的消息

由于似乎不可能查询/检查底层的 ZeroMQ 队列/缓冲区套接字以查看它们的使用量,是否有某种方法可以检测何时由于发布者套接字中的缓冲区已满而丢弃消息发送/排队? 例如,如果发布者队列已满,zmq_send 操作将简单地丢弃消息. 基本上,我想要实现的是一种检测队列压力和/或已满的情况的方法,以便能够(稍后)调整解决方案以更好地工作.另一种方法是为每条消息添加一个序列号,并在订阅者中进 ..
发布时间:2021-10-05 19:01:09 其他开发

zmq send with NOBLOCK raise 资源暂时不可用

当使用 NOBLOCK 调用时,此代码将导致资源暂时不可用: context = zmq.Context()发送者 = context.socket(zmq.PUSH)sender.bind('tcp://*:15556')sender.send('KeEpAliv', zmq.NOBLOCK) # 这一行会抛出异常#sender.send('KeEpAliv') # 这一行就可以了 阅读文档 ..
发布时间:2021-10-05 19:01:06 其他开发

zmq 轮询器如何工作?

我对轮询器在 zmq 中实际执行的操作感到困惑.zguide 对其进行了最低限度的介绍,并且仅将其描述为从多个套接字读取的一种方式.这对我来说不是一个令人满意的答案,因为它没有解释如何拥有超时套接字.我知道 zeromq:如何防止无限等待? 解释推/拉,但不是 req/rep 模式,这是我想知道如何使用的. 我想问的是:轮询器是如何工作的,它的功能如何应用于跟踪套接字及其请求? 解决方 ..
发布时间:2021-10-05 19:01:03 其他开发

如何在 zmq 的推/拉模式中设置 hwm?

我发现了一个类似的问题,ZeroMQ: HWM on PUSH 不起作用,但它无法解决我的问题. 我想控制推送套接字排队的消息数量,但它不起作用并且仍然排队 1000 条消息. 所以我想知道如何设置push socket的hwm.提前致谢. 我的环境是:libzmq 4.0.4、pyzmq 14.1.0、python 3.3 这是我的代码: 服务器.py #!/usr/ ..
发布时间:2021-10-05 19:01:00 Python

如何在python中限制ZMQ(ZeroMQ - PyZMQ)队列缓冲区大小?

我正在使用具有 pub/sub 模式的 pyzmq 库.我通过 .connect() 方法一些快速的 ZMQ 发布者和 .bind() 的一个较慢的 ZMQ 订阅者方法.然后几分钟后,我的订阅者从发布者那里得到旧的发布数据(由于 ZMQ 缓冲区). 我的问题: 有没有办法管理ZMQ队列缓冲区大小?(设置一个有限的缓冲区) [注意]: 我不想使用 ZMQ 推/拉. 我读过这 ..
发布时间:2021-10-05 19:00:57 Python