2014-01-27 35 views
1

考慮到它使用TCP/IP,我猜是這樣,但我對規格(或其讀數)知之甚少。另外,它是否也確保它們按正確的順序交付和閱讀?HTML5 WebSockets協議是否無損?

這個問題來源於我正在編寫的HTML5遊戲庫中的一個需求,但我想這就是重點。

+2

你是什麼意思無損?該消息(數據包)保證交付? –

+0

@StefanoSanfilippo:是的。我不確定TCP/IP數據包是全部發送的,但這只是我缺乏知識。對於缺乏細節感到抱歉。 – Bloodyaugust

回答

4

由於WebSockets基於TCP,所發送的消息被保證會被接收(或者會引發錯誤)。

消息按順序發送通過同一客戶端相同(的WebSocket)連接,以(認爲它是寫的一切文件和讀同一之後)被接收,但沒有關於順序保證其中消息將來自由同一客戶端建立的不同連接由不同客戶端建立的連接,即使您知道它們的發送順序。

後一種情況下的常用方法是在每條消息中嵌入時間戳,以便您可以在服務器上重建正確的時間順序。另外,如果你的服務器使用線程來處理請求,那麼即使按順序接收到兩個消息也可能被不按順序處理(但這是另一個故事)。

+0

感謝您提供完整且及時的答案。 :) – Bloodyaugust

+0

不客氣 –

+0

在一對WebSocket節點之間保證消息的順序。接收方將按照發送的順序獲得一系列WebSocket消息。 – oberstet