Возможно ли это без удаления и обновления целых данных?
Да, это возможно.
Socket.io - это просто транспорт, который позволяет отправлять данные между клиентом и сервером. С таким кодом, как:
io.emit('someMsg', someData)
Вы можете передавать данные всем клиентам, подключенным к пространству имен по умолчанию.
Если вы хотите отправлять инкрементные обновления каждому из ваших подключенных клиентов, то у вас есть чтобы создать эти инкрементные данные на вашем сервере, поместить их в объект или массив и затем передать их своим клиентам.
Затем сами клиенты получат эти данные, обработают их и обновят свои собственные. отображение клиента - предположительно путем изменения DOM для вставки, удаления или изменения данных на экране.
Ни node.js, ни socket.io, ни express не имеют встроенных механизмов для создания дополнительных пакетов данных или Обновление дисплея. Это зависит от вас.
А что, если в комнату войдет новый пользователь, и я хочу показать данные так же, как на других клиентах
Обычно Сервер обязан знать, как генерировать текущий набор данных для любого нового пользователя, который входит. Возможно, он сможет сделать это с нуля с помощью некоторого набора запросов, или ему может понадобиться накопить данные, которые были созданы с течением времени, чтобы он мог отправить их любым новым пользователям (или даже любому существующему пользователю, который просто нажал refre sh ).