node 0.8.20 和0.10.14版本的socket问题
exports.createLocalServer = function (port) { PORT = port;
var server = net.createServer(function (sock) {
logger.info('CONNECTED: ' +
sock.remoteAddress + ':' + sock.remotePort);
sock.on("data", function (data) {
//do something
});
sock.on("close", function (data) {
logger.info('CLOSED: ' +
sock.remoteAddress + ' ' + sock.remotePort);
});
}).listen(PORT, HOST);
server.on("listening", function () {
logger.info("server listening:" + server.address().port);
});
server.on("error", function (exception) {
logger.error("server error:" + exception);
});
} 这是服务端代码,node版本0.8.20当客户端关闭连接后,服务端响应sock.on(“close”)事件没问题。 当我用node 0.10.14版本时候出现如下错误:events.js:72 throw error; Error: read ECONNRESET at errorExecption(net.js:901:11) at TCP.onread(net.js:556:19); 添加解决方法 sock.on(“close”, function (data) {
logger.info('CLOSED: ' +
sock.remoteAddress + ' ' + sock.remotePort);
});
nodejs版本发生变化,导致代码也要修改,郁闷,不知道有没有人遇到过。
3 回复
node.js在不断完善中,特别是socket这块,好消息是走在正确的道路上
坏消息是有可能更新版本后,代码出现异常。
@zhs077 从 0.8.x 到 0.10.x 跨版本号升级是会有问题的,不过升级也是必须的