Node.js的事件:'错误'没有解雇

时间:2016-03-31 17:08:55

标签: node.js

我尝试使用Node.js" net"从Arduino服务器读取数据。模块。实际上,除错误处理外,一切都很顺利。

问题在于"错误"事件。它根本没有被解雇。我刚刚关闭了服务器和"数据"事件停止了,但"错误"事件没有被解雇。

这是最简单的例子。

var net = require('net');

var socket = new net.Socket();
var config = {
  port: 5003,
  host: '192.168.1.66'
};

function connect() {
  socket.connect(config, function () {
    console.log('Connected to: ' + socket.remoteAddress + ':' + socket.remotePort);
  });
}

// This event is working.
socket.on('data', function () {
  console.log('Data...');
});

// This is never fired.
socket.on('error', function () {
  console.log('Error...');
});

connect();

任何想法都存在问题?

1 个答案:

答案 0 :(得分:0)

Arduino服务器可能在关闭时正确关闭连接(没有错误)。听听'关闭'事件:

socket.on('close', function (had_error) {
  console.log('Connection closed with' + (had_error ? '' : 'out') + ' error.');
});

如果这不起作用,请尝试'timeout'事件。