当前位置: 代码迷 >> JavaScript >> 池连接-监视Node.js请求库中的并发请求?
  详细解决方案

池连接-监视Node.js请求库中的并发请求?

热度:41   发布时间:2023-06-13 12:34:44.0

我向其他服务器发送了很多请求,并希望限制它们,以免服务器超载。 我的印象是,可以使用optionspool参数来完成此操作,但是我不确定自己是否做得正确。

我希望能够跟踪何时发出请求,因为我正在尝试建立双工连接,并且需要确保同时发出相应的GET和POST请求。

这是我正在尝试的简化示例:

var request = require('request');

var options = {
    'url': 'http://www.google.com',
    'pool': {
        'maxSockets': 3
    }   
};
for (var i = 0; i < 100; i++) {
    request.get(options, (function(j) {
        return function(err, res, body) {
            console.log(j);
        }
    })(i)); 
}

实际发出请求时是否发出事件? 我有什么办法可以跟踪何时以及以什么顺序发送每个请求?

我在Node.js 找到了这个:

事件:“ socket”#

函数(套接字){}

在将套接字分配给此请求后发出。

您可以使用它来监视连接,因为它们是为套接字分配的,如下所示:

http.get(options, function(res) {
    // Do stuff
}).on("socket", function (socket) {
    socket.on("connection") {
        // record connection
    };
});

请求事件库发出相同的事件,因为它只是内置的http模块的包装。

  相关解决方案