2013-08-12 4 views
6

Есть ли способ получить уведомление, если определенный send() закончен? Как я заметил, функция send() не блокирует, а код непрерывный. Есть ли простой способ либо заблокировать его, либо получить уведомление о том, если передача завершена?Определите, завершен ли вебсайт send()

не

ответ

3

Вы можете рассчитывать на 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); 
}; 

Или реализовать квитирование ответа от сервера для каждого сообщения клиента (Пробовал, работает отлично)

+0

Я боялся что. Спасибо за подсказку о bufferedamount, но я думаю, что мне нужно полностью справиться с этим на стороне сервера, чего я хотел избежать. сообщение подтверждения является хорошей идеей, но в этом случае я могу обрабатывать серверы отверстий в моей ситуации. Я задаю этот вопрос без ответа - возможно, у кого-то есть идея, но я помечаю это, как вам ответил, короче, спасибо. –

Смежные вопросы