Веб-сервер NSURL NSURLConnection - PullRequest
       1

Веб-сервер NSURL NSURLConnection

0 голосов
/ 10 декабря 2011

Хорошо, я пытаюсь получить файл с моего веб-сервера.Но я немного запутался в некоторых вещах.Когда я использую NSURL, я могу получить свой xml-файл с таким URL-адресом: «localhost ..... / bla.xml».Но я также пытаюсь проверить некоторые вещи ... Например ... Что будет с моим приложением, если у меня будет открытое соединение с веб-сервером и я потеряю соединение с Интернетом?Вышеупомянутый метод с NSURL, я действительно не установил никакое соединение, где оно всегда связано правильно?или я должен использовать использовать NSURLConnection?

Может быть, это немного сбивает с толку, потому что я запутался.Я надеюсь, что кто-то может дать мне некоторую информацию, о которой я могу исследовать.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 11 декабря 2011

Посмотрите на NSURLConnection Class.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, но настоятельно не рекомендуется использовать этот метод, поскольку он заблокирует поток, выполняющий его.

0 голосов
/ 10 декабря 2011

Вы пытаетесь получить доступ к содержимому файла?Если это так, вы должны использовать следующее.

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

Объект NSString filecontents будет содержать вашу строку.

Вы не сможете разорвать соединение за такое короткое время.Если нет соединения, ошибка будет применена к error.

РЕДАКТИРОВАТЬ: Если вы хотите постоянно оставаться на связи с сервером, это другая история.Вы должны использовать функции C send() и recv(), о которых вы можете прочитать здесь .Я не знаю много об этом, и я сам изучаю это, поэтому вы должны спросить кого-то еще о том, как настроить сервер.Но вам нужно будет запустить другую программу одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...