MongoError:连接EMFILE-有一种方法告诉Socket-io杀死不活动的连接吗?

时间:2018-07-13 21:40:49

标签: node.js sockets socket.io

我正在使用Socket-io遇到与我的nodeJS应用程序和WebSocket相关的问题。

在与几个用户进行了一些测试之后,我的服务器遇到了问题,因为会生成此错误:

MongoError: connect EMFILE 127.0.0.1:27017

经过一些研究,我发现错误意味着文件最大错误,这表明操作系统拒绝我的程序打开更多文件描述符。然后我看了看我的服务器并使用了这一行:

lsof -n -i -P | grep node

显示了很多连接,我很确定会发生这种情况,因为我正在使用Socket-io发送实时通知

enter image description here

我的理论是所有这些通知都保持打开状态,因此会产生EMF错误,所以我的问题是,如何在nodeJS代码中指定连接永远无法激活?有一种方法可以告诉Socket-io杀死不活动的连接吗?

PD:其他类似的帖子建议增加服务器中的ulimit,但是我认为那不是正确的解决方案。

有什么想法吗?谢谢。

0 个答案:

没有答案