我對移動連接中的WebSocket通信有疑問。移動網絡中的持續TCP連接?
我想知道如何在移動網絡中長時間處理長期TCP連接,當用戶在不同網絡之間遷移時。切換(切換)發生時,已建立的TCP連接會發生什麼?
在這種情況下,不同的技術(3G,4G等)的行爲會有所不同嗎?
如果您能留下一些在線資源或文章以及我可以在這方面閱讀更多內容,我將不勝感激。
預先感謝您:)
我對移動連接中的WebSocket通信有疑問。移動網絡中的持續TCP連接?
我想知道如何在移動網絡中長時間處理長期TCP連接,當用戶在不同網絡之間遷移時。切換(切換)發生時,已建立的TCP連接會發生什麼?
在這種情況下,不同的技術(3G,4G等)的行爲會有所不同嗎?
如果您能留下一些在線資源或文章以及我可以在這方面閱讀更多內容,我將不勝感激。
預先感謝您:)
這是不是一個真正的SO但更多的是程序員的問題,我沒有看到你有什麼研究,爲自己,但你肯定不能依賴一個連接上留活着,移動與否。
實際上,移動運營商通過在一段時間或數據後重置它們來殺死長期連接的連接。所以你應該準備好重新連接套接字異常。
切換始終對用戶透明 —所有TCP和語音連接在商用移動網絡(如LTE,UMTS等)上的塔之間轉換時始終保持活動狀態。您可能會遇到一些時間段,數據停止流動,但就是這樣。
我已經有幾次機會通過T-Mobile USA的HSPA +全國性網絡的一個有趣實驗來驗證這一點。從一個主要城市到另一個主要城市需要12小時以上的車程,而無需關閉手機。查看外部IPv4地址終止的區域(使用traceroute)。您可能還會注意到,它仍然在您開始旅行的同一區域。現在重新啓動手機,並查看外部IPv4地址現在路由到的位置。你會注意到現在它可能會在離你所在的地方更近的主要城市區域終止。也就是說,您在運營商核心網絡內的連接不僅在給定的城市,地鐵或州,而且在州和時區之間。
這樣做的原因是,載體具有核心網絡,和所有外部連接由核心網絡的分組網關,它記錄所有的連接處理。關於此的更多信息記錄在High Performance Browser Networking (HPBN.co)書的Chapter 7中。