Am使用ZMQ发布并进行多个订阅.Am发布每10秒进行一次。但是后来连接中断了。
如何保持连接不中断。使用zmq npm 2.15.0版本。
答案 0 :(得分:0)
ZeroMQ L3级别的连接维护隐藏在已发布API的“内部”或“内部”,并在后台运行。
每当出现一些间歇性错误时,“相互联系”的同等双方的Context()
实例都会(内部)给予应有的注意,并尝试重新建立其视线(LoS ),以进行某些运输。
最好重新阅读{ .setsockopt() | .getsockopt() }
方法的文档API详细信息,其中许多参数会影响LoS的重新建立实际上是如何在内部服务侧连接内部进行的-维护。
通过尝试 ZMQ_HEARTBEAT_IVL != 0
并配置ZMQ_HEARTBEAT_TIMEOUT
和ZMQ_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");