node.js - 检查用户是否通过socket io收到消息

标签 node.js socket.io

我有一个简单的问题,我认为我在服务器中使用 socket.emit 向客户端发送了一条消息,那么我如何检查用户是否真的收到了消息,socket io 或 Node 是否有任何内置系统

,我知道我可以将 ping 用户与 socket.emit 一起使用,然后用户发回收到服务器消息的响应,但我需要知道套接字 io 在系统中是否有这样的构建?

谢谢。

最佳答案

是的,您可以通过将函数作为最后一个参数传递给 .emit 来实现这一点。

来自 socket.io 的“发送和获取数据(确认)”部分的示例:

服务器:

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.on('ferret', function (name, fn) {
    fn('woot');
  });
});

客户:

<script>
  var socket = io.connect();
  socket.on('connect', function () {
    socket.emit('ferret', 'tobi', function (data) {
      console.log(data); // data will be 'woot'
    });
  });
</script>

关于node.js - 检查用户是否通过socket io收到消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001855/

相关文章:

node.js - 尝试将 Electron 更新程序添加到 Electron 项目时出现错误 TS2305 : Module '"http "' has no exported member ' OutgoingHttpHeaders'.

node.js - nodejs mocha如何处理近似匹配

node.js - 如何在 Mongoose 查询中设置限制、偏移、跳过

javascript - 等待正常功能

node.js - 我可以使用 socket.io-client 连接到标准的 websocket 吗?

node.js - 如何跟踪 Messenger 应用程序中的未读消息

node.js - 在 socket.io 中断开连接时更新 node.js 中的数组

node.js - 将 react 脚本应用程序部署到 GAE 时出错

javascript - 如何同时托管 socket.io 服务器和 http 服务器?

node.js - 如何使用 Node.js 和 PHP 向单个用户发送实时通知