我正在开发一个iOS应用程序,作为业务服务器的轻客户端使用。发送到服务器的请求很多,下载的数据也很多。
我没有使用任何花哨的请求框架,只是使用带有代理的异步NSURLConnection。
该应用程序通常在wifi和3G网络下都能很好地工作,但是一些用户报告称在使用3G时(在美国),会出现随机断开连接的情况。所有请求都可以正常进行,但偶尔会出现"无法连接到主机"(-1004)错误。
这严重影响了用户体验。
以下是一些事实:
1.在wifi下不会出现这种问题。
2.用户报告说在使用3G时其他应用程序没有出现这种情况。
3.这不是超时问题,错误出现在开始连接后的0.3-1.0秒内。
4.我们无法使用traceroute重现此问题。
5.使用SCNetworkReachability,主机似乎是可达的(我知道此API的限制)。
问题:可能是什么原因导致了这个问题?3G和wifi之间的哪些连接属性可能不同?我如何调试它?
目前我唯一能想到的解决办法是,如果上一个请求失败,则尝试重新发送请求。但是,我首先想找到问题的原因。
编辑:问题可能是由我们的路由器之一引起的。IT人员仍在检查问题。
我没有使用任何花哨的请求框架,只是使用带有代理的异步NSURLConnection。
该应用程序通常在wifi和3G网络下都能很好地工作,但是一些用户报告称在使用3G时(在美国),会出现随机断开连接的情况。所有请求都可以正常进行,但偶尔会出现"无法连接到主机"(-1004)错误。
这严重影响了用户体验。
以下是一些事实:
1.在wifi下不会出现这种问题。
2.用户报告说在使用3G时其他应用程序没有出现这种情况。
3.这不是超时问题,错误出现在开始连接后的0.3-1.0秒内。
4.我们无法使用traceroute重现此问题。
5.使用SCNetworkReachability,主机似乎是可达的(我知道此API的限制)。
问题:可能是什么原因导致了这个问题?3G和wifi之间的哪些连接属性可能不同?我如何调试它?
目前我唯一能想到的解决办法是,如果上一个请求失败,则尝试重新发送请求。但是,我首先想找到问题的原因。
编辑:问题可能是由我们的路由器之一引起的。IT人员仍在检查问题。