ZMQ失去订阅连接

时间:2019-09-28 05:36:28

标签: node.js zeromq

Am使用ZMQ发布并进行多个订阅.Am发布每10秒进行一次。但是后来连接中断了。

如何保持连接不中断。使用zmq npm 2.15.0版本。

2 个答案:

答案 0 :(得分:0)

ZeroMQ L3级别的连接维护隐藏在已发布API的“内部”或“内部”,并在后台运行。

每当出现一些间歇性错误时,“相互联系”的同等双方的Context()实例都会(内部)给予应有的注意,并尝试重新建立其视线(LoS ),以进行某些运输。

最好重新阅读{ .setsockopt() | .getsockopt() }方法的文档API详细信息,其中许多参数会影响LoS的重新建立实际上是如何在内部服务侧连接内部进行的-维护。

通过尝试 ZMQ_HEARTBEAT_IVL != 0 并配置ZMQ_HEARTBEAT_TIMEOUTZMQ_HEARTBEAT_TTL值可能会得到启发。

答案 1 :(得分:0)

感谢您现在用此代码解决问题

const zmq = require("zmq");
const sock = zmq.socket("sub");
sock.setsockopt(zmq.ZMQ_TCP_KEEPALIVE, 1);
sock.setsockopt(zmq.ZMQ_TCP_KEEPALIVE_IDLE, 300);
sock.setsockopt(zmq.ZMQ_TCP_KEEPALIVE_CNT, 10)
sock.setsockopt(zmq.ZMQ_TCP_KEEPALIVE_INTVL, 300);
sock.connect("tcp://mdata-pub-01:3000");