【问题标题】:Force a connection to be closed after a period in nodejs在nodejs中一段时间​​后强制关闭连接
【发布时间】:2015-10-03 14:39:31
【问题描述】:

我有用户 http.request 用于连接到 nodejs 中的另一台服务器。不幸的是,该服务器在某些情况下响应延迟。所以我想在一段时间后关闭请求。 我找到了以下代码,但如果目标服务器无法访问或连接尚未建立,则此关闭连接。

req.on('socket', function (socket) {
    socket.setTimeout(myTimeout);  
    socket.on('timeout', function() {
        req.abort();
    });
});

我想要的是在例如 2 秒后关闭连接,无论数据是否到来。

有人知道吗?

【问题讨论】:

    标签: javascript node.js sockets httprequest


    【解决方案1】:

    我真的不知道你使用的套接字库,也许它也有一些现成的很好的解决方案,但是使用 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);
    });
    

    同样,这可能看起来像是一种解决方法,但我从您的请求中了解到,这绝对应该足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多