检查用户是否收到带有套接字io的消息

时间:2013-08-01 18:32:53

标签: node.js socket.io

我有一个简单的问题,想想我在服务器上发送了一个带有socket.emit的消息给客户端,那么如何检查用户是否真的得到了消息,socket io或node是否有任何内置系统

,我知道我可以使用ping用户使用socket.emit,然后用户发回一个得到服务器消息的响应,但我需要知道socket io在系统中有这样的漏洞吗?

感谢。

1 个答案:

答案 0 :(得分:1)

是的,您可以通过将函数作为最后一个参数传递给.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>