6

如果某个人send()完成了,有没有办法得到通知?正如我注意到的那样,该send()功能没有阻塞并且代码是连续的。如果发送完成,是否有一种简单的方法可以使其阻塞或以某种方式得到通知?

4

1 回答 1

5

您可以依靠 Socket.bufferedamount (从未尝试过)

http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#dom-websocket-bufferedamount

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);
};

或者为每个客户端消息实现来自服务器的确认应答(尝试过,工作正常)

于 2013-08-12T14:24:07.300 回答