2013-08-12 18 views
6

C'è un modo per ricevere una notifica se è stato completato un certo send()? Come ho notato la funzione send() non sta bloccando e il codice continua. C'è un modo semplice per renderlo bloccante o ricevere una notifica in qualche modo se l'invio è finito?Determina se un websocket send() è finito

risposta

3

Si poteva contare su Socket.bufferedamount (mai provato)

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

o implementare una risposta dal server per ogni messaggio cliente riconoscono (provato, funziona bene)

+0

temevo quella. Grazie per il suggerimento su bufferedamount - ma penso di dover gestire totalmente questo lato server che volevo evitare. il messaggio di riconoscimento è una buona idea, ma in questo caso sono in grado di gestire il processo hole hole sul mio tipo di situazione. ho lasciato questa domanda senza risposta per un po '- forse qualcun altro ha un'idea ma la segnerò come risposta da voi, grazie. –

Problemi correlati