iPhone应用程序进入网络请求永远不会完成的状态

时间:2011-07-01 22:48:06

标签: iphone networking xamarin.ios

每隔一段时间,即使其他应用程序工作正常(甚至可以访问相同的网站),我的iPhone应用也会进入网络请求总是超时的状态。这显然与网络可用性的变化无关,并且在3G和WiFi上都会发生。有关如何诊断问题的任何建议吗?

(FWIW,该应用程序使用MonoTouch和HttpWebRequest,但我怀疑出现问题的是低级别。)

注意:通过后台应用和更改网络配置,问题仍然存在;唯一的修复似乎是杀死应用程序并重新启动它。

更新:我尝试过使用Reachability,但没有效果。 Reachability.InternetConnectionStatus始终返回ReachableViaWiFiNetwork(或ReachableViaCarrierDataNetwork,具体取决于;同样IsHostReachable()始终返回true。Runtime.StartWWAN()似乎没有任何区别。

2 个答案:

答案 0 :(得分:6)

https://bugzilla.novell.com/show_bug.cgi?id=555439有一个关于此问题的错误,并且有几次尝试解决它。截至该bug的最后一条评论,它被认为是固定的,但我想如果您使用的是MonoTouch 4.0.3,那么有些情况无法解决。

基本上,问题反映在其他Stackoverflow问题中:iPhone 3G Connection Enabling

MonoTouch尝试解决此问题的方法是调用MonoTouch.Runtime.StartWWAN(Uri),它使用NSUrlConnection打开与uri的虚拟连接以强制唤醒网络接口。然后,MonoTouch回到在HttpWebRequest中使用BSD套接字API。

答案 1 :(得分:0)

尝试设置用于拨打电话的timeOutInterval的{​​{1}}属性。

相关问题