测量建立tcp连接所消耗的时间,基于HTTP的API请求,改进网络IO的时间消耗也是一种用户体验的提升。


但凡做移动开发的人,必然都会反复提到用户体验,在网络上消耗很长时间的应用也属于 不好的用户体验。测量用户真实的在网络上消耗掉的时间是一个很重要的事情

记录设备HTTP请求时,建立tcp连接消耗的时间,服务端响应数据时用了多长时间接收了 多少数据,设备所在地域、时间、运营商等来分析用户的网络情况,借此数据才能知道哪 些地方需要改进。

通常我们最直接的感受到服务器响应请求的时间,是由几个部分组成:

  • TCP协议三次握手,也就是socket建立连接的时间。
  • 服务端程序的执行时间,例如Django的代码执行和MySQL的查询等。
  • 数据接收,这个不难理解,就是服务器输出的内容到达设备的时间。

以上三个部分当中,TCP连接的所消耗的时间是也是一个非常重要的指标。

ASIHTTPRequest 提供了测量连接时间的能力,因为它是基于 CFNetwork NSURLConnection 就没有这种能力了。所以想要对 ASIHTTPRequest 有经验的开发者提 示如何Hook建立连接成功的时候。

http afnetworking ios

tpctpc3 11 years, 6 months ago

最简单就是用Socket建立TCP链接,看看要花多少时间,HTTP是应用层协议,它也要使用TCP实现。如果你没用过Socket,就需要补一补了。搜索「Linux Socket编程」,这种底层技术基本是通用的。

老娘才不是芫荽 answered 11 years, 6 months ago

Your Answer