我有这个麻烦很长一段时间了。我试图通过 WiFi 发送 http 请求,一切似乎都很好,但是当我切换到蜂窝网络时,请求总是超时。
我尝试同时使用同步调用、异步调用并使用 NSRULSession 而不是 NSURLConnection,得到相同的结果,有什么建议吗?我的假设是在网络 API 级别,连接差异不应该暴露给用户。
此外,我尝试使用 Apple 的可达性模块进行检查,WWAN 和 WiFi 都可以访问。我正在使用 xcode 6.1 和 iOS7、iOS8.0.1 和 iOS8.1。
PS。我正在使用 Alamofire 模块发送请求,这是我收到的错误消息:
Error Domain=NSURLErrorDomain
Code=-1001 "The operation couldn’t be completed. (NSURLErrorDomain error -1001.)"
UserInfo=0x17007a880
{
NSErrorFailingURLStringKey=http://www.testsite.com:8080/carservices/CloseCar,
NSUnderlyingError=0x170059650 "The operation couldn’t be completed.
(kCFErrorDomainCFNetwork error -1001.)",
NSErrorFailingURLKey=http://www.testsite.com:8080/carservices/CloseCar
}
这是我通过 AT&T 4G 网络从手机到站点的跟踪路线。我尝试访问的站点托管在 Amazon AWS 上,具有弹性 IP 地址。
1 172.26.96.169 (172.26.96.169) 346.630 ms 471.051 ms 473.139 ms
2 172.26.96.9 (172.26.96.9) 232.148 ms 368.511 ms 369.776 ms
3 172.16.126.100 (172.16.126.100) 312.747 ms 628.247 ms 631.752 ms
4 12.249.2.49 (12.249.2.49) 462.616 ms 916.701 ms 919.660 ms
5 12.83.180.82 (12.83.180.82) 348.677 ms 503.967 ms 506.960 ms
6 12.122.114.29 (12.122.114.29) 99.483 ms 202.542 ms 205.154 ms
7 192.205.37.58 (192.205.37.58) 63.011 ms 691.055 ms 693.907 ms
8 ae-7.r21.snjsca04.us.bb.gin.ntt.net (129.250.7.54) 66.330 ms 82.107 ms 137.337 ms
9 ae-3.r20.sttlwa01.us.bb.gin.ntt.net (129.250.3.125) 74.185 ms 84.449 ms 99.471 ms
10 ae-1.r04.sttlwa01.us.bb.gin.ntt.net (129.250.5.43) 112.387 ms 126.747 ms 29.141 ms
11 ae-5.amazon.sttlwa01.us.bb.gin.ntt.net (198.104.202.190) 72.229 ms 81.840 ms 04.535 ms
12 205.251.225.200 (205.251.225.200) 105.630 ms 287.484 ms 290.750 ms
13 205.251.232.92 (205.251.232.92) 111.903 ms 196.493 ms 197.762 ms
14 205.251.232.153 (205.251.232.153) 458.479 ms * 0.316 ms
15 54.239.48.181 (54.239.48.181) 575.475 ms 736.233 ms 738.883 ms
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *