2012-08-03 15 views
31

Se mandiamo due messaggi nello stesso html5 websocket un millesimo di secondo spaccato distanza l'uno dall'altro,I messaggi websocket possono arrivare fuori ordine?

E 'teoricamente possibile per i messaggi per arrivare in un ordine diverso da quello che sono stati inviati?

+1

http://stackoverflow.com/questions/14287224/processing-websockets-messages-in-order-of-receiving – muhmud

risposta

32

Risposta breve: No.

Risposta lunga:

WebSocket viene eseguita su TCP, così a quel livello la risposta @EJP s' applicato. WebSocket può essere "intercettato" dagli intermediari (come i proxy WS): questi sono autorizzati a riordinare i frame di controllo di WebSocket (cioè ping/ping di WS), ma non i telegrammi dei messaggi quando nessuna estensione di WebSocket è presente. Se esiste un'estensione neogata che in linea di principio consente il riordino, un intermediario può farlo solo se comprende l'estensione e le regole di riordino applicabili.

12

Non è possibile per loro arrivare nell'applicazione fuori servizio. Qualsiasi cosa può accadere sulla rete, ma TCP ti presenterà solo i byte nell'ordine in cui sono stati inviati.

+1

Questo non contraddice http://stackoverflow.com/q/14287224/632951? – Pacerier

+2

IMO che la risposta è sbagliata. L'ho postato anche lì. –

+0

@Pacerier Questa risposta è sicuramente sbagliata. La semantica di TCP lo rende del tutto impossibile. – EJP

Problemi correlati