我尝试使用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();
任何想法都存在问题?
答案 0 :(得分:0)
Arduino服务器可能在关闭时正确关闭连接(没有错误)。听听'关闭'事件:
socket.on('close', function (had_error) {
console.log('Connection closed with' + (had_error ? '' : 'out') + ' error.');
});
如果这不起作用,请尝试'timeout'
事件。