Отправить сообщение через определенный канал в Node.js ws websockets - PullRequest
0 голосов
/ 05 ноября 2019

Я хочу создать двунаправленную связь между внешним интерфейсом и внутренним интерфейсом с помощью веб-сокетов. Я использую Node.js WS. Используя

  wss.clients.forEach(function each(client) {
    client.send("This is a message")
  })

, я могу отправить сообщение всем клиентам с помощью так называемого тега «сообщение». Используя Chrome Developer Tools, я вижу, что отправляется пакет ws с событием ON_MESSAGE.

Я хотел бы использовать тег другого типа, однако я не могу найти документацию о том, как это сделать,и не найти ничего в Интернете, что бы объяснить способ сделать это. Я попробовал что-то вроде следующего, которое не сработало.

  wss.clients.forEach(function each(client) {
    client.emit("TAG", "This is a message")
  })

1 Ответ

0 голосов
/ 14 ноября 2019

Этого можно добиться, выполнив определенное преобразование, например,

 const body = {
  tag: 'mytag',
  data: {
    message:"this is a message"
  }
};
 wss.clients.forEach(function each(client) {
client.emit(JSON.stringify(body))
})

, поэтому после получения этих данных вы можете получить тег и сообщение на объекте body

...