Javascript 节点+;websocket向客户端发送消息

Javascript 节点+;websocket向客户端发送消息,javascript,node.js,websocket,Javascript,Node.js,Websocket,我有一个nodejs websocket服务器,每次它向我发送数据时,我都需要从串行端口向客户端发送数据 这是我的ws-on连接 wss.on('connection', ws => { ws.on('message', message => { console.log(`Received message => ${message}`) }) ws.send('ho!') }) 这是我的串行数据 parser.on('data', (dad

我有一个nodejs websocket服务器,每次它向我发送数据时,我都需要从串行端口向客户端发送数据

这是我的ws-on连接

wss.on('connection', ws => {
    ws.on('message', message => {
      console.log(`Received message => ${message}`)
    })
    ws.send('ho!')
})
这是我的串行数据

parser.on('data', (dados) => {
    console.log(dados.toString('utf8'));
})
基本上,当串口向我发送一些数据时,我需要将其发送到客户端

有什么办法可以耍这个把戏吗?我想我可以有一些全局变量,使它成为两个动作之间的桥梁


i、 e:每当serial向我发送一些数据时,我都会将其放在变量上,每2秒钟我的ws-server就会将该变量中的任何内容发送到客户端。

在您的“数据”回调中,而不是
console.log(dados.toString('utf8'))行

您可以输入以下代码:

wss.clients.forEach(function each(client) {
  if (client.readyState === WebSocket.OPEN) {
    client.send(dados.toString('utf8'));
  }
});

根据我的理解,根据您的体系结构,集合
wss.clients
应该只包含一个ws-client。

就是这样。非常感谢。为什么wss.client应该只包含一个客户端?如您所述,只有一个客户端连接到websocket。如果将连接2个客户端,则列表中有2个客户端,以此类推。