向所有人(包括发件人)显示消息“用户正在键入...”,如果我正在键入消息,VUE JS和socket.io

时间:2020-01-14 06:05:36

标签: sockets vue.js socket.io

我在应用程序中使用vuejs和socket.io。任务是这样的:如果我在与用户的对话中键入消息,则向对话者和我自己都显示一条消息,即我正在键入消息。 我该如何实施?

1 个答案:

答案 0 :(得分:1)

Socket.io为您提供了多种选择,可以全面发送消息。我一直觉得非常有帮助的是官方文档(https://socket.io/docs/emit-cheatsheet/)中的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');

}

现在,这当然只是示例方法。您将需要将其包装到您自己的业务逻辑中,并可能注册一些套接字事件侦听器以进行此操作。