在zeromq javascript中接收超时
Timing out on a receive in zeromq javascript
我是node-js编程的新手,所以也许我没有看到一些明显的东西。zmq中的接收如下:
socket.on('message', function()
{
console.log("Message received: ");
console.log(arguments);
});
我如何把一个zmq。轮询,或使用zmq接收。设置NOBLOCK标志,或者在超时后关闭带有linger=0的套接字?
链接到任何文档将是感激的。关于轮询的zmq指南示例,只使用异步回调,而不使用轮询器或超时。是不是只有一个setTimeout
和一个socket.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的安全性如何?
当您将zeromq与node一起使用时,您可以"免费"获得一些东西。具体来说,由于node是从头开始构建的,不阻塞并使用异步方法,因此poll()
变得冗余,NOBLOCK
也是如此。当我开始这样做时,我遇到了同样的困惑,它们只是没有在节点绑定中暴露出来,似乎它们应该暴露出来,直到我理解绑定是按照"节点方式"构建的,因此它们是不需要的。
到目前为止,你的计时方法是好的;这取决于你需要什么,但我基本上就是从这里开始的。
相关文章:
- 使用优化器在慢速连接上加载main.js时需要js超时
- 当浏览器控制台未打开时,为什么要求会导致Internet Explorer 9超时
- 超时功能的性能
- 使用不同的超时对数组中的每个项目进行角度动画处理
- 设置第一次执行的超时
- node.js测试事件是否是在不使用超时的情况下使用sinon.js发出的
- 使用javascript和随机暂停/超时快速循环文本
- 如何在jQuery事件处理程序中存储和重用超时
- 当定位模式设置为“0”时,总是达到关于地理定位的超时;仅设备”;
- 为什么页面重新加载会使设置超时无效,以及如何避免
- 立即设置超时
- 在promise中为回调添加超时并拒绝
- 如何设置$.ajax请求的超时,并在超时时间过长时进行重做
- iOS Safari Javascript设置超时问题
- 如何将嵌套设置超时转换为承诺
- XMLHTTPRequest脚本中没有internet连接和超时
- CXP项目中的Javascript超时
- 超时后才能再次单击
- 将变量传递到超时函数的Javascript
- 在zeromq javascript中接收超时