首页 > 解决方案 > socket.end() 或 socket.destroy() 以确保文件描述符被释放?

问题描述

我正在 nodejs 中编写一个代理应用程序,它可以处理数千个向内和向外的并发连接

我想确保所有空闲和不需要的连接都被正确关闭,并且它们的文件描述符被释放。如果它泄漏文件描述符,我会很快用完它们。

我的问题是:

确保连接关闭的最佳解决方案是什么?socket.end() 还是 socket.destroy() ?

目前我正在使用socket.end(),但在文档中它说它关闭了一半连接,是否存在socket.end()不会导致关闭连接的情况?我感兴趣的是尽快发布文件描述符。

所以你有什么建议 ?

标签: node.js

解决方案


socket.end()是优雅终止连接的更好方法。socket.destroy立即终止您的所有连接。此外,由于一个错误,在大多数情况下,必须socket.end在销毁后添加才能使其工作。走的路也是
如此!end()


推荐阅读