为什么客户端HTTP连接没有关闭



我有一个node.js(12.18.4(服务器应用程序,它侦听HTTP连接。我们的测试使用mocharequest,并且我们与服务器建立了许多连接。在测试结束时,我们关闭了服务器,但首先我们通过调用server.getConnections并断言值为0来确保所有连接都已关闭。绝大多数情况下都是这样,但有时返回的值是非零的,通常在60-70左右。在测试期间,我们提出了远远超过60-70个请求。没有测试失败或卡住。

如何确定服务器认为这些连接仍然存在的原因?

我质疑断言活动服务器连接数的价值——如果所有测试都成功完成,那么如果操作系统清理某些TCP连接的速度很慢,会有什么不同?

无论如何,我会放弃getConnections检查,只打电话给server.close(cb)

如果没有活动连接,则会立即调用close回调,或者等待所有剩余连接关闭后再触发。如果连接未耗尽,则应发生测试超时。

最新更新