我有一个关于移动连接中WebSocket通信的问题。
我想知道当用户在不同的网络之间迁移时,如何在移动网络中长时间处理长寿命的TCP连接。当切换(切换)发生时,已经建立的TCP连接会发生什么?
在这种情况下,不同的技术(3G、4G等)会有不同的表现吗?
如果你能留下一些在线来源或文章,我会很感激,我可以在这方面读更多?
提前感谢:)
切换对用户始终是透明的—在LTE、UMTS等商业移动网络上的塔之间转换时,所有TCP和语音连接始终保持活动状态。您可能会经历数据停止流动的一段时间,但仅此而已。
我有好几次机会通过T-Mobile USA的HSPA+全国网络上的一个有趣的实验来验证这一点。从一个大城市开车12个多小时到另一个大城,不用关掉手机。看看外部IPv4地址终止的区域(使用traceroute)。你不妨注意到,它仍然在你开始旅行的同一地区。现在重新启动手机,看看外部IPv4地址现在路由到哪里。你会注意到,现在它很可能在离你所在地更近的一个主要地铁区终止。也就是说,你在运营商核心网络中的连接不仅在给定的城市、地铁或州内,而且在州和时区之间跟随你。
原因是运营商有一个核心网络,所有外部连接都由的分组网关处理,该网关跟踪所有连接。有关这方面的更多信息,请参阅《高性能浏览器网络》(HPBN.co)一书的第7章 这不是一个真正的SO问题,而是一个程序员的问题,我不知道你自己研究了什么,但你肯定不能依靠连接来生存,无论是否移动。 事实上,移动运营商通过在一定时间或数据后重置长寿命连接来扼杀长寿命连接。因此,无论如何,您都应该准备好在出现套接字异常时重新连接。