繁体   English   中英

客户端ZeroMQ中的侦听事件-node.js

[英]Listening event in client side zeromq - node.js

我在网络分析中使用zeromq来实时获取日志通知。

详细信息:我正在读取日志文件(Web分析日志文件)。 每当修改日志文件时,都将对其进行读取。 与ubuntu中的尾巴相同。 我正在将zeromq用于pub-sub事件。

示例服务器端:

        var zmq = require('zmq');
        var socket = zmq.socket('pub');
        socket.bind('tcp://127.0.0.1:2001', function(error) {
        if (error) {
            console.log(error);
        }
        var fs = require("fs");
        fs.watchFile(config.filePath, function (curr, prev) {
            socket.send("file updated");
        });

        var socket = zmq.socket('sub');//Have to be ported to client side
        socket.connect('tcp://127.0.0.1:2001');
        socket.subscribe('');

        socket.on('message', function(msg){
              console.log('work: %s', msg);
        });
    });

我的问题是如何在客户端(javascript)中监听事件,以及如何在客户端中要求zmq?

我是zeromq的新手。 任何帮助将是巨大的。

这里有许多node.js的客户端示例...
https://github.com/imatix/zguide/tree/master/examples/Node.js

为什么服务器上有订户代码? 这只是一项健康检查吗?

  var socket = zmq.socket('sub');
  socket.connect('tcp://127.0.0.1:2001');
  socket.subscribe('');
  socket.on('message', function(msg){
       console.log('work: %s', msg);
  });

这可能与您的问题无关,但是我认为如果有人从ØMQ或zguide获取示例时遇到问题,我将添加此内容。

如果您正在此页面上运行服务器-客户端示例(或通过您选择的语言运行的类似示例):

http://zguide.zeromq.org/js:_start

并且它不起作用,然后尝试查看此页面:

https://github.com/imatix/zguide/tree/master/examples

并尝试使用您选择的语言的示例之一。 这极大地帮助了我,到目前为止(所有示例)在第一次尝试中都是有效的!

暂无
暂无

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

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