Javascript Node.js在随机时间抛出写入EIO异常

Javascript Node.js在随机时间抛出写入EIO异常,javascript,node.js,socket.io,winston,Javascript,Node.js,Socket.io,Winston,我正在使用node.js+socket.io+Winston(logger)编写一个游戏服务器,我的服务器每天都会因为这个异常而死亡: Error: write EIO at errnoException (net.js:901:11) at Object.afterWrite (net.js:718:19) 我怀疑这可能是我利用温斯顿的方式。我有server.js和room.js类,在这些类中,我要求Winston使用以下语句:var Winston=require('Winston')并在

我正在使用node.js+socket.io+Winston(logger)编写一个游戏服务器,我的服务器每天都会因为这个异常而死亡:

Error: write EIO
at errnoException (net.js:901:11)
at Object.afterWrite (net.js:718:19)
我怀疑这可能是我利用温斯顿的方式。我有
server.js
room.js
类,在这些类中,我要求Winston使用以下语句:
var Winston=require('Winston')
并在
server.js
中注册文件日志记录:

winston.add(winston.transports.File, { filename: 'server.log' });
winston.handleExceptions(new winston.transports.File({ filename: 'errors.log' }))
room.js
中,我只需调用
winston.info()
方法

这可能是因为有许多
房间
实例或其他原因吗?

防止应用程序崩溃 :您可以使用此模块防止应用程序崩溃
您可以在域块内编写代码,它将永远不会再次崩溃。但请小心,如果在Windows上检查此问题,如果在linux上由于读/写错误(如设备断开连接)而发生此问题,则必须首先解决此问题。

。服务器为ubuntu linux。我能做些什么来防止这种行为?即使注册了“uncaughtException”事件,我的服务器仍然会死机,因为它还没有解决这个问题。如果我这样做了,我会在这里发布。我也会得到同样的错误,而且我也在使用socket.io。错误:在Object.afterWrite(net.js:720:19)的errnoException(net.js:904:11)处编写EIO。去掉它并编写自己的TCP套接字。如果不使用它与html页面通信,这是最好的选择。我就是这么做的,不再有问题了。还有socket.io正在泄漏内存,winston也在泄漏。它们不适合大型项目和许多连接