0

在我的情况下,我必须使用 socket.io 通过套接字同步存储库。在我的本地机器上它运行良好(高带宽,无延迟......)。但是我坚持向服务器发送更大的对象,然后在发送这些对象期间需要在客户端上进行一些锁定。

因此,第一个已知的可能方法是发出“gotData”并在客户端上侦听。但是有没有办法只从客户端检测完成?

例如像 DUMMY 的例子:

//Some dummy code
socket.emit('syncObject', oObj).complete(function(evt){
    console.log('finished emit');
});
4

1 回答 1

0

这有点小技巧,但是您可以在发出时包含一个回调,并在收到消息时立即在服务器端调用它。

客户

socket.emit('syncObject', oObj, function() {
  console.log('got message');
});

服务器

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

io.sockets.on('connection', function (socket) {
  socket.on('syncObject', function (obj, cb) {
    cb();
    // handle obj data
  });
});
于 2013-02-21T19:28:16.467 回答