繁体   English   中英

Nodejs ZMQ监视套接字

[英]Nodejs ZMQ monitoring sockets

我得到了这段代码,用于监视nodejs的zmq绑定中的套接字。 到目前为止,它仍然有效,但是我的问题是我不知道监视套接字发生了什么事件。 我得到的代码只是做到了这一点,我将继续寻找更多的代码,但这是我到目前为止所拥有的。

var zmq = require('zmq');
var socket = zmq.socket('pub');
socket.connect('tcp://127.0.0.1:10001');
socket.monitor();

我尝试添加“ onmessage”事件处理程序,但未显示任何内容,所以..我不知道这是怎么回事。

socket.on("message",function(msg){
    console.log(msg);
});

我打印了从monitor()函数返回的对象,并从中获得了一些监视器事件,但是我认为这很简单,我得到了用于测试套接字的监视器功能的链接( https:// github.com/JustinTulloss/zeromq.node/blob/master/test/socket.monitor.js ),但是有些事情不起作用,但是...

mon.monitor();
console.log(mon);
mon.on("message",function(msg){
    console.log(msg);
});
mon.on('close',function(){console.log("Closed");});
mon._zmq.onMonitorEvent = function(evt){
    if (evt == 1)
        console.log("Should be 1 : "+ evt);
    else
        console.log(evt);
};

我尚未使用0mq中的PUB / SUB处理程序。 我使用了其他一些类型,并且相当熟悉。 没有测试此代码,我的建议是

脚本1:您现有的PUB脚本需要发送一条消息

  socket.send('TEST_MESSAGES', 'BLAH')

脚本2:需要添加以下内容:

var zmq = require('zmq');
var sub_socket = zmq.socket('sub');
sub_socket.connect('tcp://127.0.0.1:10001');
sub_socket.subscribe('TEST_MESSAGES')
sub_socket.on("message",function(msg){
    console.log(msg);
});

诀窍在于计时。 0mq不会给您重试或持久的消息。 您需要自己构建这些元素。 仍然,如果将发布放在计时器中(为了使示例运行),您应该看到消息在移动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM