Как я могу использовать socket io только для связи с сервером и клиентом?

#html #node.js #socket.io

#HTML #node.js #socket.io

Вопрос:

Я хотел бы создать веб-страницу с интерактивным контентом.

Я хотел бы использовать socket IO, но у меня проблема, когда я отправляю два числа с клиента на сервер.

Сервер добавляет два числа и отправляет для каждого пользователя (но я хочу просто отправить обратно одному пользователю). Я бы не хотел хранить пользователей. Итак, я хотел бы спросить, как я могу создать этот пример, используя NodeJS и Socket IO?

Комментарии:

1. но метод широковещательной рассылки не подходит для меня, потому что отправляет сообщение всем остальным, кроме меня. но я хочу отправить только сервер и хочу отправить данные для меня обратно, я не хочу отправлять данные всем.

Ответ №1:

если вы заглянете в socket.в документах io вы обнаружите, что вы можете указать key для каждого отправляемого вами сообщения, например:

 io.on('connection', function (socket) {
  // specify a clientId for each client you have, you may define it at the moment the connection starts.
  socket.emit(`news:${clientId}`, { hello: 'world' });
});
  

И на стороне клиента у вас есть:

 socket.on(`news:${myClientId}`, function (data) {
  console.log(data);
});
  

Вы можете сгенерировать это id случайным образом, используя множество библиотек, например Node-Forge.

Надеюсь, это поможет! Не стесняйтесь спрашивать дальше.