node.js到达maxSockets时会发生什么?

时间:2015-11-19 15:16:58

标签: javascript node.js sockets connection-pooling

我想知道到达maxSockets时会发生什么?

如果我使用允许我创建自定义http.Agent的服务,并将maxSockets指定为1.当我尝试发出多个并发请求时会发生什么?

每个请求是否会超出初始块直到初始化完成?然后套接字可用于下一个请求?和其他所有人阻止?我当然会这么认为,但是无法在文档中找到任何内容,而且对于socket编程来说是全新的。

1 个答案:

答案 0 :(得分:4)

在使用maxSockets之后,额外的requests get queued直到活动请求完成并且释放了一个套接字以供使用,此时将在新释放的套接字上发送来自队列的挂起请求。 / p>

请注意,这在技术上排队不阻塞 - 在此过程中CPU和事件循环继续执行有用的工作。

另请注意,每个源(" host:port")基础上有一个maxSockets和队列(类似于浏览器)。

另请注意default maxSockets is Infinity