Javascript 节点+;websocket向客户端发送消息
我有一个nodejs websocket服务器,每次它向我发送数据时,我都需要从串行端口向客户端发送数据 这是我的ws-on连接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
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个客户端,以此类推。