一个配置导致的HTTP(TCP)连接超时
这个是之前写http服务的时候测试遇到的一个问题。当时这个bug的现象是,办公室内某台安卓手机访问http服务经常出现连接超时,而过一会儿之后又可以使用了。而同时,办公室内的iOS设备,Mac设备又能正常使用服务。甚至登陆到http服务实时监控日志,会发现安卓的设备的请求确实没有到达http服务,没有access日志。
简单抓包
这个时候实在没法,在服务端tcpdump一下对应的http端口的请求,还好是开发环境。dump过程中,仅一分钟,安卓手机就又遇到了相同的情况。这时结束dump,下载dump出来的内容到本机用wireshark进行分析。
分析包内容
打开包,按照时间顺序排列,看到大片的黑色记录,也就是有大量TCP重传。照说办公室到测试服务器的网络是稳定的,而且是在服务器上面抓的包。所以不应该存在大量的重传才对。所以先从这里着手。trace一下出现重传的tcp stream。其中编号为10的tcp流很有意思: