问题标签 [czmq]
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.
c++ - 带有 czmq 的 ZeroMQ 在性能测试中表现出剧烈的波动
带有 czmq 的 ZeroMQ 显示出一些令人担忧的性能。计时结果相差近 20 倍。具体来说,在以下示例中,测试时间范围从大约 7 毫秒到 150 毫秒!?
基于提供的czmq
“草原”[1] 测试示例,我向abcdefghijklmnopqrstuvwxyz
消费者发送了一个类似 1000x 的字符串。
有谁知道这可能是为什么?
最小、完整和可验证的示例
基于grasslands
示例。生产者和消费者分成不同的文件/进程。
主题
观察者
五次运行
参考
linux - 我们如何在 zmq 推拉套接字的客户端中硬编码端口号
在连接到 zmq 服务器的情况下,zmq 客户端将从本地范围中选择随机端口号。通常在任何 tcp 连接的情况下,我们应该能够将客户端绑定并连接到服务器。因此,客户端可以使用固定的端口号(src 端口号)。
我们如何在 zmq 推拉式套接字案例中实现这一点?请举个例子。
我在尝试
但我可以看到,在客户端设置中打开的端口如下所示。
相反,我的期望是
你们能帮助我,实现这一目标。
linux - 为什么在 zmq_poll() 期间出现 SIGABRT 权限被拒绝错误?
我正在使用 zmqPUSH
和PULL
套接字。并且最近开始观察 SIGABRT 崩溃,在zmq_poll()
运行中。
错误/退出日志是“ Permission denied (src/tcp_connecter.cpp:361) ”
有人可以在这里帮助我吗?
进程是在 Kubernetes 中运行的容器的一部分。这个问题突然开始出现。并且无法恢复。
谢谢,
linux - 主机IP地址更改时如何退出无尽的zmq_poll?
我编写了一个zmq_poll()
具有 3 个前端和 3 个后端的 zmq 代理,超时为 -1,这使得它无穷无尽。前端套接字使用面向连接的-transport tcp://
-class 并与主机 IP 地址上zmq_bind()
的 -ports 相关联,例如.tcp
tcp://192.168.1.1:1000
zmq_poll( ..., ..., -1 )
当我的主机的 IP 地址发生变化时,有什么办法可以打破无限循环?
我试图轮询类似的事件,ZMQ_POLLIN | ZMQ_POLLERR
但是当我手动更改主机的 IP 地址时,它不会从对zmq_poll( ..., ..., -1 )
.
c - 将静态库 czmq 添加到 C 项目 (CMake)
我正在使用 ZeroMQ 库用 C 语言编写一个项目。我需要使用静态库。CMakeLists.txt:
但是,在构建时,我收到很多错误-_-:
也就是说,库中的函数是不可见的。我究竟做错了什么?
预先感谢您的帮助 :)
sockets - 可以在 ZMQ_XSUB 套接字中激活订阅消息
我尝试使用 XSUB 在代理中 relpace SUB,但我发现即使在最简单的结构中它也不会收到消息。
发送字节 1 但它不起作用,我认为我的前缀应该是错误的。我终于妥协使用 SUB ,但我想知道为什么......
c++ - gcc 4.6.1 版与 protobuf 兼容吗?
我在我的一个项目中使用带有 zmq 的 protobuf。我可以在这个 gcc 版本 4.6.1 中使用 protobuf 吗?
如果是,请让我知道我必须使用哪个版本的 protobuf。
问候,笑脸
c++ - 如何正确安装 ZMQ?
当我尝试运行这个简单的程序时(https://zeromq.org/get-started/?language=cpp&library=zmqpp#)
我收到此错误:
我也得到了这个:
显然,这似乎是由于我没有正确安装 ZMQ 造成的。我尝试通过两种方式安装它:
失败的方法#1:
- 安装 Homebrew ( https://brew.sh/ )
- 然后在终端: brew install zmq
失败的方法#2
- 下载的 cppzmq zip 文件 ( https://github.com/zeromq/cppzmq )。解压这个名为 cppzmq-master 的文件
- 下载的 Cmake
- 在终端中安装 Cmake: brew install cmake
- 在终端中,将目录更改为 cppzmq-master
- mkdir 构建
- 光盘构建
- 制作..
- sudo make -j4 安装
不知道我哪里出错了;对此仍然很陌生,因此非常感谢您的反馈!
ZMQ 网站供参考:https ://zeromq.org/
来源
c++ - CZMQ 设置发送 HWM / 设置接收 HWM
这不需要工作吗?
如何设置 HWM 和/或 BUF 大小?
更新:我添加了更多代码并在这种情况下工作:
虽然zsock_set_sndhwm (sockout, 20);
在这个特定的上下文中工作。我必须弄清楚它不起作用的上下文。
zeromq - ZMQ_SNDHWM 和 ZMQ_RCVHWM 始终设置为默认值
我正在尝试将 ZMQ_SNDHWM 和 ZMQ_RCVHWM 值配置为 100,但是每当我使用 getsockopt() 检查它时,它总是返回 1000,这是默认值。我用最新的 4.3.4 ZMQ 试过这个,我也得到了同样的结果。下面是我正在使用的代码的快照
在这里,我没有提供某些功能的实现,但从那里可以清楚地看到它们的功能。请让我知道它是否是 ZMQ 中的错误,或者我试图以错误的方式设置或检索它,或者我的理解是错误的。请帮助我消除这个疑问。