问题标签 [zeromq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 如何为 pyzmq 设置 ZeroMQ 交换文件位置?
我正在使用 django 和 pyzmq,以及配置了 HWM(高水位线)和磁盘 SWAP 的 ZeroMQ PUB 和 SUB 套接字。ZeroMQ 在 django 站点的根目录中创建它的交换文件(如 zmq_10976_0.swap)。使用 ZeroMQ 的进程是由 django 操作创建的,所以我假设交换文件只是放置到当前目录中。我怎么能告诉它把这些文件放在其他地方?我不想为此更改整个过程的当前目录。
node.js - node.js 回调被多次调用
我今天刚开始使用 node.js 和 zeromq 绑定,并且看到一些我不太理解的行为。
这是我的示例代码,它在同一台机器上的端口 9000 上调用另一个基于 ruby 的 zeromq REP 进程:
我正在使用浏览器访问节点服务器并等待响应。奇怪的是,我在控制台中得到的输出是以一种我不理解的附加方式出现的:
我尝试将 zmqSocket.on() 调用移到 http 请求块之外,这消除了附加行为,但它也不包含我需要的请求/响应对象。
本练习的重点是让浏览器等待响应从端口 9000 上长时间运行的 zeromq 服务器进程返回(当前只是伪造的睡眠响应)。
我很确定我只是误解了这里的回调,但在这种情况下的文档方式中找不到太多。
谢谢你的帮助。
qt - ZeroMQ 正在吃掉我的数据……但只是有时
因此,我正在探索 0MQ 作为我的集群应用程序的消息传递协议。它提供了我需要的那种异步通信。
到目前为止,我在制作原型方面取得了一些初步成功。我能够使用几种不同类型的模式发送和接收消息。
我目前正在尝试通过“握手”获得一种PUB/SUB
与初始同步一起工作的模式。REP/REQ
此方法在 ZeroMQ 指南中的“节点协调”下进行了描述。而且这个方法效果很好。唯一的问题是 0MQ 似乎正在吃掉我大约 50% 的消息,或者至少是其中的数据。
我正在使用 Qt,因此消息由QString
. 我正在QByteArray
使用 a 将字符串字节打包到 a 中QDataStream
。然后,我通过QByteArray
“电线”并在另一侧打开它。我经常使用这种方法通过其他协议(如 tcp 套接字)进行通信,并且效果很好。
我有 4 个“工人”连接到 viaPUB/SUB
和REQ/REP
一个“经理”。在大多数运行中,至少 1 个和最多 3 个“工人”同步正常。但是,当他们不这样做时,他们会收到一个空字符串。
这是 4 个客户端的日志:
alicia
:
brenda
:
carlie
:
darcie
:
这是大部分代码:
从zmqtools.cpp
从zmqworker.cpp
从zmqmanager.cpp
所以,最后我的问题是:
- 我是否忽略了这段代码中的某些内容?
- 我是否错误地打包/解包 ZeroMQ 消息?
- 我
REQ/REP
是否错误地管理同步?
我真的很感谢那些对 ZMQ 有一定经验的人的一些见解,特别是在混合和PUB/SUB
模式方面。PUSH/PULL
REQ/REP
ipc - 使用哪个 CORBA 实现?
在某些项目中,SysV IPC | Posix队列用于在进程之间交换数据;有人对我说,随着即将推出的 Windows 软件移植,“如果不使用 IDL 和一些像CORBA 之类的中间件,将会引入大量令人头疼的问题”;
所以,需要一个 CORBA 的实现,它足够标准化:
- 可从 Linux 和 Windows 上的 C++ 应用程序获得
- 可从 Java 获得
另一个问题是性能:它不应该比本地 IPC 机制提供的慢十倍(与手动通过 IPC 实现响应等待有关的所有痛苦)。
也需要超时支持(最多 2 秒等待 IPC 后端抛出异常)。
目前正在寻求采用 ZeroMQ 的 IPC 传输。
python - 0mq 一对多连接
使用0mq在进程之间建立双向通信的最正确方法是什么?我需要创建几个后台进程来等待来自主进程的命令,执行一些计算并将结果返回给主进程。
zeromq - 在 gevent 的 fd 上监听 POLLIN
我想将 ZeroMQ 连接到 gevent 循环。使用 ZeroMQ API,我可以获取套接字的 fd。如何在不阻塞其他 greenlet 的情况下在 greenlet 中查看此套接字的 POLLIN 事件?
zeromq - ZeroMQ 的延迟/指标与竞争对手的比较
有谁知道在哪里可以找到有关 ZeroMQ 延迟与 29 West LBM 等竞争对手的性能详细信息?
看起来相当便宜,但我找不到任何指标来决定哪个更合适。
eclipse-plugin - 在 Eclipse 插件中使用 zeromq
我正在尝试在 Eclipse 插件中使用 zeromq。OSGi 框架拒绝使用普通的外部 jar;因此,解决方案是将它们捆绑到插件本身中。遵循一个简单的过程(也在 http://www.vogella.de/articles/EclipseJarToPlugin/article.html中进行了描述),我设法使用了一些我需要的外部 jar,而没有任何痛苦。
但是,当我尝试捆绑 jzmq.jar 时,我遇到了问题。'zmq 插件' 很容易创建,但是一旦使用它,它就会通过循环进入 org.eclipse.ui.internal.Workbench.runEventLoop 冻结。
你们中的任何人都曾在 Eclipse 插件中成功使用过 zeromq 吗?有关如何解决此问题的任何提示?
protocols - ZeroMQ + 协议缓冲区
ZeroMQ 常见问题页面建议使用 Google 的protobuf作为序列化消息内容的一种方式。
有没有人看到一个很好的用法示例?
我还需要回答“序列化消息的最大优势是什么?” - 它是否可能是我可以没有的东西并利用更细的管道。
.proto
我非常喜欢文件和protoc
编译器的想法。
此外,似乎另一个在操场上扔的好工具是libev
,欢迎任何评论:)
c - 传递给“msgpack_pack_int()”宏的计数器变量不增加
我有一个非常奇怪的问题,试图运行这个使用zmq和msgpack的非常简单的C 程序。
没有问题server.c
,但是clinet.c:39
有这个msgpack_pack_int (&mpkg, i);
,并且 的值i
似乎被拾取为0
并且在每次迭代中都不会改变。我尝试了很多不同的事情(例如,创建一个指向
i
并使用它的指针,还尝试将其拆分为一个函数等),但似乎没有任何帮助。我可以看到这msgpack_pack_int()
是一个宏,但为什么它会引入这种行为,我能做些什么来克服它?是否有一个标志可以改变这种宏的行为(因为我看到它扩展为内联函数)......我已经尝试过-Werror -Wall
,使用gcc
and clang
,也没有任何警告出现;(*
我尝试调试它并按i
预期递增。
我什至试过这个,无论如何它都会做同样的事情:
我什至尝试过一些本应不同的东西,但这里也没有运气 -
谁能明白为什么会这样?
更新 1:我还重新编译了 msgpack 库本身,没有优化标志,这也没有改变行为。
更新 2:从 git repo 安装了 msgpack,我仍然遇到同样的问题。