在我的情况下,我必须使用socket.io通过套接字同步存储库。 在我的本地机器上它运行良好(高带没有延迟......)。但是我想要向服务器发出更大的对象,然后在发送这些对象时需要在客户端上进行一些锁定。
所以第一个已知的可能方法是在客户端上发出“gotData and”listen。 但有没有办法只从客户端检测完成?
e.g。像DUMMY例子一样:
//Some dummy code
socket.emit('syncObject', oObj).complete(function(evt){
console.log('finished emit');
});
答案 0 :(得分:0)
这有点像黑客,但你可以在你的emit中包含一个回调,并在收到消息时立即在服务器端调用它。
客户端
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
});
});