作者:HW-LL
连接迁移
Quic底层使用UDP,而UDP本身是无连接状态的,所以Quic协议设计了CID唯一标识一条流。这一点和TCP协议不同,TCP是基于IP和端口的四元组来标识一条流。所以Quic协议当IP、端口变化时,不影响流的传输。从而在wifi/4G场景下切换不需要重新建立连接,这一点是之于TCP协议的一个优势点。
激活功能
默认是不开启连接迁移的。
观察测试
测试一个下载场景,下载文件24M,启动下载时使用Wifi网络,下载过程中关掉Wifi,切换到4G网络。观察发现,打开连接迁移功能,下载是成功的;否则报下载失败。
一开始使用的是wifi IP:100.64.44.10进行下载
停掉wifi后,切换到数据业务,使用数据IP:10.22.81.88继续下载。
参考抓包:migrate(wifi to mobile 7s).pcap
非连接迁移
报错异常:
onFailed, CronetException is: org.chromium.net.impl.QuicExceptionImpl: Exception in CronetUrlRequest: net::ERR_QUIC_PROTOCOL_ERROR, ErrorCode=10, InternalErrorCode=-356, Retryable=false, QuicDetailedErrorCode=27
参考抓包:migrate(no enable).pcap
请求级关闭
可以全局开启,针对某些请求关闭连接迁移功能。
其报错和全局关闭是一样的。






































苏公安网备 32011402010933号