2012-11-26 14 views

risposta

6

Non esiste un limite esplicito di una dimensione di un messaggio SockJS. Sfortunatamente, SockJS è piuttosto fragile e non dovrebbe essere usato per inviare enormi dati. Nel mondo ideale invierai messaggi di controllo (sensibili alla latenza) su SockJS e grandi payload (per il throughput) utilizzando metodi esterni, ad esempio utilizzando una chiamata AJAX.

Sul lato tecnico dovresti essere in grado di spingere praticamente qualsiasi cosa sul trasporto di websockets, ma su streaming e polling devi essere più attento. In particolare, le richieste di polling devono essere ristabilite entro 5 secondi e potrebbe essere difficile quando tutta la larghezza di banda è occupata inviando i dati dal browser al server. Pertanto, il caricamento di blob di grandi dimensioni non è consigliato con sockjs.

+2

Grazie! Ho fatto qualche ricerca in più e ho scoperto che il limite di dimensioni del frame di socket Web predefinito di Netty (utilizzato in Vert.x) è impostato su qualcosa di circa 100k. Questo si adatta perfettamente al momento (i messaggi sono circa 5k), ma quando i messaggi inizieranno a crescere oltre i 100k, prenderò in considerazione la soluzione sockjs/ajax. –

+0

Sto usando l'implementazione di spring sockjs, non trovo un modo per specificare il limite massimo. Il client sockjs limita in qualche modo la dimensione del messaggio o fornisce un modo per specificare la dimensione massima? – cpandey05

Problemi correlati