是否可以通过某种send()完成来获得通知?正如我所注意到的,send()函数没有阻塞并且代码连续。有没有一种简单的方法可以使其阻塞或在发送完成后以某种方式得到通知?

最佳答案

您可以依靠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);
};

或从服务器为每个客户端消息实现一个确认答案(尝试过,可以正常工作)

10-06 02:40