[英]What will happen to existing connections when switch between 3g/wifi
假设我有一个TCP连接,在我的3G网络上进行大量数据传输; 然后我走回家,Android自动切换到我的家庭Wifi。 现在连接发生了什么? 它只是断开连接? 或者它会继续下去,只有新的连接将使用wifi?
另外,如果我离开家,wifi丢失信号并切换到3g怎么办? 猜测连接被丢弃应该是安全的。 对于我的应用程序,我是否需要处理重新连接或有自动回退解决方案?
提前致谢。
宏博
连接将丢失,因为您的设备将出现在不同的IP地址,这是TCP数据包找到的方式。
除非你编写代码,否则没有后备,如果你的应用在3G上花了很多时间,你应该做。 桌面应用程序可以“D'哦!” 当您的Cable或DSL偶尔出现打嗝时,3G连接会逐渐停止。
如果您从一个网络插入一台笔记本电脑并插入另一个网络,就会发生同样的事情。 连接会下降。 移动应用程序更有可能遇到丢弃/死连接,因此应对其进行相应编码。 例如,应用程序可以通过android.net.ConnectivityManager注册状态更改。 在某些情况下,应用程序可能需要对他们下载的任何内容进行完整性检查,以便他们不会开始尝试呈现损坏的文件。 在其他情况下,如果通过3G连接,则下载某些类型的数据(例如大文件)将是不好的形式。
没有。 您应该枚举所有当前的IP地址,并在不同的套接字上绑定到每个IP地址。 并在网络状态/ IP地址发生变化时订阅Reachability(一种用于Android)通知。 代码也应该在Android中运行。 请参阅此要点中的我的多路径示例: https : //gist.github.com/avesus/fdb465b60a4f5204845c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.