serialport和socket.io问题

时间:2015-11-21 16:05:26

标签: node.js socket.io

为什么我不能在socket.io连接中使用serialport.on?它没有给我任何错误,但它也没有打印任何东西。如果我将它移到socket.io块之外,它可以正常工作,但在这种情况下我不知道如何通过套接字发送数据。任何想法如何解决这个问题?

 // socket connection
io.sockets.on('connection', function(socket){
console.log('User Connected');

 // socket disconnection
socket.on('disconnect', function(){
console.log('User disconnected!');
});

 // serialport connection. (NOT WORKING WHEN INSIDE THE SOCKET BLOCK)
serialport.on("open", function () {
console.log('open');
serialport.on('data', function(data) {
console.log('data received: ' + data);
  });
 });
});

1 个答案:

答案 0 :(得分:0)

好的,所以我明白了。您必须首先使用serialport.on('open')在套接字之外的某处打开串行连接。连接将保持打开状态,然后您可以使用serialport.on('data',function(data){});在套接字内部接收数据并将其发送给客户端。出于某种原因,它有时会多次运行该功能。也许串口需要在某些时候刷新。