想象一下,我想用HTML5(客戶端)和node.js(服務器)創建一個實時多人遊戲。WebRTC合適嗎? (實時多人遊戲)
我需要非常快速地將數據從服務器傳輸到客戶端,反之亦然。
在原生應用程序中,我會使用UDP
獲取大部分數據(玩家位置,...),因爲它比TCP
快,而且它在丟失時沒有問題。
在HTML5
我可以(只)使用WebSockets
。 WebSocket在TCP之上,因此速度不夠快,性能不佳。
我聽說WebRTC
,但我不知道這是否可以解決這個問題。
有沒有人使用它?
(我知道,那是的WebRTC的瀏覽器大多不支持仍,但是,這並不重要,我。)
你確定websocket對你的用例太慢嗎? tcp套接字在websocket會話期間保持打開狀態,因此您不必擔心每條消息的連接開銷。 – simonc
TCP:可靠的消息傳遞;所有數據都得到確認 管理所有數據的傳送,並自動重傳丟失的數據。 UDP:沒有確認的不可靠,盡力而爲的傳送 因此TCP對於這種用例來說只是錯誤的技術。 – appsthatmatter
嘗試使用WebSocket實現它,並測量它是否真的太慢了(不用說,抽象您的傳輸實現,以便如果WebSockets確實不令人滿意,可以使用別的東西而不會丟失大量代碼)。現在你過早地進行了優化。 – ebohlman