Отображать сообщение «пользователь печатает ...» всем, включая отправителя, если я набираю сообщение, VUE JS и socket.io - PullRequest
0 голосов
/ 14 января 2020

Я использую vuejs и socket.io в моем приложении. Задача заключается в следующем: если я набираю сообщение в диалоге с пользователем, отображаю сообщение для собеседника и для себя, что я печатаю сообщение. Как я могу это реализовать?

1 Ответ

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

Socket.io дает вам множество вариантов для отправки сообщений по всем направлениям. То, что я всегда находил очень полезным, это Emit cheatsheet из официальных документов (https://socket.io/docs/emit-cheatsheet/).

Вот некоторые из способов, как транслировать сообщения всем клиентам , включая отправителя.

io.on('connect', onConnect);

function onConnect(socket) {

  // sending to all clients in 'chat' room, including sender
  io.in('chat').emit('typing', 'User xy is typing');

  // sending to all clients in namespace 'chatNamespace', including sender
  io.of('chatNamespace').emit('typing', 'User xy is typing');

  // sending to a specific room in a specific namespace, including sender
  io.of('chatNamespace').to('chat').emit('typing', 'User xy is typing');

}

Теперь это, конечно, только примеры методов. Вам нужно было бы обернуть это в свою собственную бизнес-логику c и, возможно, зарегистрировать несколько слушателей событий сокета, чтобы все заработало.

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