gpt4 book ai didi

javascript - 在zeromq javascript中接收超时

转载 作者:行者123 更新时间:2023-11-30 05:35:02 25 4
gpt4 key购买 nike

我是 node-js 编程的新手,所以我可能没有看到明显的东西。zmq中的一个receive如下:

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

我如何放入一个 zmq.Poll,或者在设置了 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 也是如此。当我开始这样做时,我遇到了同样的困惑,它们只是没有暴露在 Node 绑定(bind)中,而且看起来它们应该是,直到我明白绑定(bind)是为“Node 方式”工作而构建的,因此它们不是不需要。

就目前而言,您的超时方法很好;这仅取决于您的需求,但这或多或少是我要开始的地方。

关于javascript - 在zeromq javascript中接收超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com