sockets - 向所有人显示消息“用户正在输入...”,包括发件人,如果我正在输入消息,VUE JS 和 socket.io
问题描述
我在我的应用程序中使用 vuejs 和 socket.io。任务是这样的:如果我在与用户的对话中键入一条消息,则向对话者和我自己显示一条消息,即我正在键入一条消息。我该如何实施?
解决方案
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# - 无法从“(UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3)”转换为“Vector3”
- c# - 哪里首选静态类?
- javascript - 为什么我在 Internet Explorer 11 中出现语法错误,但在 chrome 中却完美运行
- python - python中的二维数组所有列值都被设置
- python-3.x - 为什么在使用机器人框架的 api 测试中不考虑 URL 中的方括号?
- interrupt - 在裸机环境中触发 ARMv8A 中的 LPI 的基本编程步骤集?
- opencart - 在 Google 网站管理员中无法获取打开的购物车站点地图
- reactjs - 如何在 NextJS 中验证 / lint styled-jsx?
- android - Ionic App - 更新到 Cordova Android 8.1.0 后找不到插件
- reactjs - 如何在 react-sortable-dnd 的可排序容器中拖动可排序列表