大概使用socket.io+网络拥堵的时候会偶发服务器崩溃:
TypeError: Cannot call method 'destroy' of undefined
at ServerResponse.OutgoingMessage.destroy (http.js:457:15)
at onclose (stream.js:74:10)
at EventEmitter.emit (events.js:115:20)
at ReadStream.destroy (fs.js:1385:12)
at Object.oncomplete (fs.js:297:15)
google之发现有人碰到同样问题,在0.8.14仍然存在,解决方案是修改http.js模块。之前没干过这事,起先想把http源码拷出修改后再引用,但是如socket.io模块中大量引用系统http模块,全修改不爽,所以想问如题,或者其他修复方式。 是不是只有重新编译node.exe?
2 回复
用这个,即使抛出异常了也不怕
process.on('uncaughtException', function (err) {
console.log('Caught exception: ' + err);
});
http://nodejs.org/api/process.html#process_event_uncaughtexception