节点+网络套接字向客户端发送消息

时间:2019-11-06 18:41:25

标签: javascript node.js websocket

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

这是我的联系方式

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'));
})

基本上,当串行发送给我一些数据时,我需要将其发送给客户端。

有什么办法做这个把戏吗?我以为我可以有一些全局变量,并将其作为两个动作之间的桥梁。

即:每当串行发送给我一些数据时,我都会将其放在变量中,而我的ws服务器每隔2秒就会将变量中的内容发送给客户端。

1 个答案:

答案 0 :(得分:0)

在“数据”回调内部,而不是console.log(dados.toString('utf8'));

您可以输入以下代码:

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

根据您的架构,集合wss.clients应该只包含一个我了解的ws客户端。