Поддерживать ли сетевые подключения iPhone в неактивном состоянии? - PullRequest
1 голос
/ 25 октября 2011

Я работаю над клиентским приложением чата, которое подключается к серверу чата.Когда я получаю всплывающие уведомления (например, SMS-сообщение), iPhone переводит приложение в неактивное состояние - отлично.Проблема, с которой я столкнулся, заключается в том, что после отклонения уведомления приложение потеряло все сетевые подключения.Я читал в других местах, что это не должно происходить, но я не уверен, что мне не хватает!

Вот фрагмент кода, который я использую для создания потоков чтения и записи.

- (void) initNetworkCommunication {

//set up read and write streams
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;

//connect to host at this address and this port
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"somewebsite.org", 3333, &readStream, &writeStream);

//open socket connection
inputStream = [(NSInputStream *)readStream retain];
outputStream = [(NSOutputStream *)writeStream retain];
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}

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

1 Ответ

0 голосов
/ 25 октября 2011

Что вы делаете в методе applicationWillResignActive: вашего приложения?Вы можете приостановить соединение, а затем возобновить его, как только приложение снова станет активным.В любом случае вы должны что-то делать в этом методе.

Надеюсь, это поможет.

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