如果某个send()
已经完成,是否有办法得到通知?正如我注意到的,send()
函数不是阻塞的,代码是连续的。有没有一种简单的方法可以阻止它,或者在发送完成后以某种方式得到通知?
您可以依赖Socket.bufferedamount(从未尝试过)
http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#dom-websocket缓冲存储器安装
var socket = new WebSocket('ws://game.example.com:12010/updates');
socket.onopen = function () {
setInterval(function() {
if (socket.bufferedAmount == 0){
// Im' not busy anymore - set a flag or something like that
}
}, 50);
};
或者从服务器为每个客户端消息实现一个确认应答(已尝试,工作正常)