У меня есть два или более клиентов, подключенных к комнате Socket.io, клиент # 1 отправляет сообщение следующим образом:
export function appendChild({ item }){
socket.emit(APPEND_CHILD, { item })
return {
type: APPEND_CHILD,
}
}
это успешно отправленное сообщение на сервер, которое выглядит следующим образом:
socket.on('APPEND_CHILD', async ({ item }) => {
...
socket.in(socket.handshake.query.room).emit('APPEND_CHILD_AFTER_EFFECT', { payload: { log, parentLog }, socketId: socket.id })
})
Обратите внимание, что для запуска этого я использую один тип сообщения, а для проверки связи всех клиентов для обновления я использую другое сообщение, которое при отправке должно быть получено всеми клиентами, и все они обновят свое состояние.
Клиенты прослушивают входящие сообщения, например:
socket.on('APPEND_CHILD_AFTER_EFFECT', ({ payload, socketId }) => {
console.log('test !')
...
})
Все клиенты, кроме активного (тот, который отправил первоначальный выброс), получили сообщение.
Почему основной клиент не получил сообщение и как его сделать?