在zeromq javascript中定时接收

时间:2014-06-25 06:21:52

标签: javascript node.js zeromq

我是node-js编程的新手,所以也许我没有看到明显的东西。 zmq中的接收如下:

socket.on('message', function()
{
     console.log("Message received: ");
     console.log(arguments);
});

如何设置zmq.Poll,或者在设置zmq.NOBLOCK标志的情况下接收,或者在超时后关闭socket = 0的套接字?

我们将不胜感激任何文件的链接。关于轮询的zmq指南示例,只使用异步回调而不是轮询器或超时。它只是setTimeoutsocket.close()吗?

我使用了类似的东西:

var messageReceived = false;
s.on('message', function() { console.log(arguments); messageReceived=true; });                                                                                

setTimeout(function() {
            if (!messageReceived)
            {
                console.log("Nothing received. Exiting...");
                s.close();
            }   
        }, 5000);

哪个有效。但我不确定这是否是推荐的方法。 另外,node-zeromq对生产有多安全?

1 个答案:

答案 0 :(得分:1)

当你将zeromq与节点一起使用时,你会“免费”获得一些东西。具体来说,由于节点是从头开始构建的,所以不阻塞和使用异步方法,poll()变得多余,NOBLOCK也变得多余。当我开始使用它时,我遇到了同样的混乱,他们只是没有暴露在节点绑定中,似乎它们应该是直到我理解绑定是为了工作“节点方式”并且因此他们不是需要。

到目前为止,你的超时方法很好;它只取决于你需要什么,但这或多或少都在我开始的地方。