Nodejs ZMQ监控套接字

时间:2015-06-11 10:15:31

标签: node.js sockets monitoring zeromq monitor

我有这个代码用于监视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);
});

2 个答案:

答案 0 :(得分:1)

我打印了从monitor()函数返回的对象,从中我可以得到一些监视器事件,我认为它不太优雅,我得到了这个测试socket的监视功能的链接({ {3}})但有些事情不起作用,但......

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);
};

答案 1 :(得分:0)

我没有使用0mq的PUB / SUB处理程序。我已经使用了其他一些类型并且相当熟悉。没有测试过这段代码,我的推荐就是

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

$scope.user

脚本2:需要添加:

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

这里的诀窍是时机。 0mq不会给您重试或持久消息。您需要自己构建这些元素。如果你把你的发布放在一个计时器(为了让一个例子运行),你应该看到消息移动。