【问题标题】:Webserver NSURL NSURLConnection网络服务器 NSURL NSURLConnection
【发布时间】:2011-12-09 23:21:49
【问题描述】:

好的,我正在尝试从我的网络服务器获取文件。但我对一些事情有点困惑。当我使用 NSURL 时,我可以使用这样的 url 获取我的 xml 文件:“localhost ...../bla.xml”。但我也在尝试测试一些东西......比如......如果我与网络服务器建立了开放连接,并且我失去了与互联网的连接,我的应用程序会发生什么?上面使用 NSURL 的方法,我还没有真正建立任何连接,它总是连接的对吗?还是我应该使用 NSURLConnection?

也许这有点令人困惑,因为我很困惑。我希望有人能给我一些我可以研究的信息。

谢谢。

【问题讨论】:

    标签: objective-c ios xcode webserver


    【解决方案1】:

    看看 NSURLConnection 类。 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html

    创建连接对象并设置超时值,如果您失去连接或连接超时 NSURLConnection 委托方法:- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 被调用,您将收到该事件的通知。

    您也可以使用NSURLConnection sendSynchronousRequest 方法,但强烈建议不要使用该方法,因为它会阻塞线程的运行。

    【讨论】:

      【解决方案2】:

      您是否正在尝试访问文件的内容?如果是这样,您将使用以下内容。

      NSError *error;
      NSURL *url = [NSURL URLwithString:@"localhost/file.html"];
      NSString *filecontents = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
      

      NSString 对象filecontents 将包含您的字符串。

      你不可能在这么短的时间内断开连接。如果没有连接,则会将错误应用到error

      编辑: 如果您想始终保持与服务器的连接,那就另当别论了。 您必须使用 C 的 send()recv() 函数,您可以阅读有关 here 的信息。 我对它了解不多,我自己也在学习,所以你应该问别人如何设置服务器。但是您需要同时运行另一个程序。

      【讨论】:

      • 我可以访问我的文件,但你是对的。我不能在这么短的时间内失去联系。所以我有点想建立一个我“总是”连接的连接。我是不是走错了路?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多