NodeJs Socket.io Номера - PullRequest
       3

NodeJs Socket.io Номера

0 голосов
/ 12 декабря 2018

Это довольно простой вопрос, но я хочу убедиться, что я правильно масштабирую нашу реализацию socket.io.Мы используем socket.io, чтобы ответить клиенту после длительного процесса в бэкэнде nodejs.Таким образом, в основном клиент выполняет вызов, а затем socket.io сообщает клиенту, что процесс завершен.Кроме того, socket.io ТОЛЬКО отвечает на временную комнату, которая была создана для запроса.

В nodejs я создал глобальную переменную для следующего, чтобы я мог отправить обратно в комнату клиента:

global.io = require('socket.io')(server);

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

Так что, если у меня есть 500 клиентских машин, которые инициируютсоединение через socket.io, у каждого будет свой сокет.Чтобы гарантировать, что комнаты уникальны, я использую guid для всех 500. Конечно, я не хочу, чтобы все сокеты получали трафик, если только один сокет для конкретной комнаты должен оценивать излучение ....

есть идеи?

1 Ответ

0 голосов
/ 12 декабря 2018

Если я правильно понял ваш вопрос, вы хотите отправить информацию в этот 1 сокет?

Возможно, что-то вроде этого:

socket.broadcast.to(socketId).emit('someeventname', eventData);

Если у вас открыто соединение с этимклиент, это означает, что у вас есть идентификатор сокета через socket.id .Вы можете отправлять события только в этот сокет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...