【问题标题】:Check for Internet Connection检查互联网连接
【发布时间】:2011-08-02 03:14:25
【问题描述】:

我需要开发一个 Iphone 应用程序,它需要知道 Iphone 是否连接到互联网。如果是,我需要从服务器加载一些数据。

那么,是否可以在 Iphone 中检查互联网连接?对这个问题有什么建议吗?

非常感谢任何建议、cmets 和指南。

谢谢。

【问题讨论】:

    标签: iphone objective-c cocoa-touch cocoa ios4


    【解决方案1】:

    Apple 对此有一个常用的示例,Reachability 使用起来还不错,并且会向您展示向下的路径。

    【讨论】:

    • 嗨,我刚刚浏览了“可达性”文档。很好。因此,当我检查互联网连接时,如果返回的互联网连接状态为是,那么它将开始从服务器加载数据并插入到应用程序的本地数据库中。但是我担心的是在加载数据的时候,如果突然断网或者中断,加载数据的过程就会停止,所以数据不能完全插入到应用程序的本地数据库中。用户在使用应用程序时,无法完整显示数据。有这个问题的cmet吗?谢谢。
    • @cthesky 显示警报,通知用户他们需要回到互联网连接范围内。当连接恢复时,关闭警报(如果用户尚未关闭它)并继续下载。
    【解决方案2】:

    不妨看看if(navigator.onLine) { onlineCode() },HTML5 功能和 iPhone 支持 HTML5。

    也在 SO 上查看这个

    Checking online status from an iPhone web app

    【讨论】:

      【解决方案3】:

      最好使用可达性......

      【讨论】:

        【解决方案4】:

        最好的选择是使用Reachability

        您可以在每次从网络(或任何地方)加载一些数据时打勾。

            -(void)checkInternetConnection
        {
            Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];
            internetStatus = [r currentReachabilityStatus];
            if ((internetStatus != ReachableViaWiFi) && (internetStatus != ReachableViaWWAN))
            {
                UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"No Internet Connection"   message:@"You require an internet connection via WiFi or cellular network."delegate:self cancelButtonTitle:@"Ok"otherButtonTitles:nil];
                [myAlert show];
                [myAlert release];
                return;
            } 
        }
        

        你可以简单地每次调用这个方法。

        希望对你有帮助!!

        【讨论】:

          猜你喜欢
          • 2011-04-15
          • 2017-03-16
          • 2014-02-08
          • 2012-06-12
          • 1970-01-01
          • 1970-01-01
          • 2015-08-20
          • 2012-11-13
          • 2011-04-08
          相关资源
          最近更新 更多