Socket.io с Node.js - PullRequest
       7

Socket.io с Node.js

1 голос
/ 27 января 2020

Я создаю веб-приложение, используя Socket.io с express.

Я хочу отправить данные всем клиентам, и все клиенты могут редактировать / обновлять эти данные, и эти обновленные данные будут обновляться в режиме реального времени (для всех клиентов).

Возможно ли это без удаления и обновления целых данных? А что, если в комнату входит новый пользователь, и я хочу показать данные так же, как на других клиентах

1 Ответ

1 голос
/ 27 января 2020

Возможно ли это без удаления и обновления целых данных?

Да, это возможно.

Socket.io - это просто транспорт, который позволяет отправлять данные между клиентом и сервером. С таким кодом, как:

io.emit('someMsg', someData)

Вы можете передавать данные всем клиентам, подключенным к пространству имен по умолчанию.

Если вы хотите отправлять инкрементные обновления каждому из ваших подключенных клиентов, то у вас есть чтобы создать эти инкрементные данные на вашем сервере, поместить их в объект или массив и затем передать их своим клиентам.

Затем сами клиенты получат эти данные, обработают их и обновят свои собственные. отображение клиента - предположительно путем изменения DOM для вставки, удаления или изменения данных на экране.

Ни node.js, ни socket.io, ни express не имеют встроенных механизмов для создания дополнительных пакетов данных или Обновление дисплея. Это зависит от вас.

А что, если в комнату войдет новый пользователь, и я хочу показать данные так же, как на других клиентах

Обычно Сервер обязан знать, как генерировать текущий набор данных для любого нового пользователя, который входит. Возможно, он сможет сделать это с нуля с помощью некоторого набора запросов, или ему может понадобиться накопить данные, которые были созданы с течением времени, чтобы он мог отправить их любым новым пользователям (или даже любому существующему пользователю, который просто нажал refre sh ).

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