在nodejs中一段时间后强制关闭连接
Force a connection to be closed after a period in nodejs
我有用户 http.request
用于连接到 nodejs 中的另一个服务器。不幸的是,服务器在某些情况下会延迟响应。所以我想在一段时间后关闭请求。
我找到了以下代码,但如果无法访问目标服务器或尚未建立连接,则会关闭连接。
req.on('socket', function (socket) {
socket.setTimeout(myTimeout);
socket.on('timeout', function() {
req.abort();
});
});
我想要的是在例如 2 秒后关闭连接,无论是否有数据。
有人知道吗?
我不太了解你使用的套接字库,也许它也有一些现成的很好的解决方案,但使用 setTimeout
函数看起来很简单:
req.on('socket', function (socket) {
setTimeout(function() {
// maybe some additional condition here
// or recursive call if you want to wait 2 more seconds
// or whatever else
// but if you want to just abort...
req.abort();
}, 2000);
});
同样,这看起来像是一种解决方法,但根据您的要求,我了解到这绝对应该足够了。
我有用户 http.request
用于连接到 nodejs 中的另一个服务器。不幸的是,服务器在某些情况下会延迟响应。所以我想在一段时间后关闭请求。
我找到了以下代码,但如果无法访问目标服务器或尚未建立连接,则会关闭连接。
req.on('socket', function (socket) {
socket.setTimeout(myTimeout);
socket.on('timeout', function() {
req.abort();
});
});
我想要的是在例如 2 秒后关闭连接,无论是否有数据。
有人知道吗?
我不太了解你使用的套接字库,也许它也有一些现成的很好的解决方案,但使用 setTimeout
函数看起来很简单:
req.on('socket', function (socket) {
setTimeout(function() {
// maybe some additional condition here
// or recursive call if you want to wait 2 more seconds
// or whatever else
// but if you want to just abort...
req.abort();
}, 2000);
});
同样,这看起来像是一种解决方法,但根据您的要求,我了解到这绝对应该足够了。