Socket.IO服务器挂断(Socket.IO server hangs up)

2019-09-29 14:23发布

我是新来socket.io。 所以我socket.io服务器sometimws崩溃给这个下面的错误

timers.js:103
        if (!process.listeners('uncaughtException').length) throw e;
                                                                  ^
Error: socket hang up
    at createHangUpError (http.js:1360:15)
    at ServerResponse.OutgoingMessage._writeRaw (http.js:507:26)
    at ServerResponse.OutgoingMessage._send (http.js:476:15)
    at ServerResponse.OutgoingMessage.write (http.js:749:16)
    at XHRPolling.doWrite (E:\sitesroot\0\node_modules\socket.io\lib\transports\
xhr-polling.js:67:17)
    at XHRPolling.HTTPPolling.write (E:\sitesroot\0\node_modules\socket.io\lib\t
ransports\http-polling.js:132:8)
    at XHRPolling.Transport.packet (E:\sitesroot\0\node_modules\socket.io\lib\tr
ansport.js:515:15)
    at Object.<anonymous> (E:\sitesroot\0\node_modules\socket.io\lib\transports\
http-polling.js:79:12)
    at Timer.list.ontimeout (timers.js:101:19)

它不显示在那里或为什么错误发生得如此肯定它无关,与我所编写的代码。 可能是与运输的东西吗? 我没有关于它的许多知识。 如何从崩溃停止任何建议将高度赞赏。 谢谢

Answer 1:

问题是作为@miktam说。 为了解决这个问题,你需要一个错误监听添加到您的代码。 此代码添加到您的应用程序:

//Error handler
process.on('uncaughtException', function (exception) {
  // handle or ignore error
  console.log(exception);
});

当曾经有一个错误,将CONSOLE.LOG它不是崩溃吧。 我有相同的问题,这个固定。



Answer 2:

检查这个问题

引用艾萨克Schlueter的:

好消息是,你不再泄漏内存。 坏消息是,你确实需要错误侦听器添加到您的对象。

在大多数应用程序,通常可以把ECONNRESET为大致相同正常关闭。 只要确保你真正停止使用该插座,因为它现在已经关闭。 然而,这不是一个正常关闭,因为它在任何意义上不是“正常”。 到v0.8.20之前,节点会高兴地缓存所有的写操作复位插座,导致内存爆炸死亡。



文章来源: Socket.IO server hangs up