iOS перенаправляет запросы с GCDWebServer (без перенаправления)

Я хочу создать сервер на iOS с GCDWebServer, который будет принимать запрос к localhost, а затем извлекать данные из другого url (видеофайл) и передавать данные в ответ. Я намерен использовать обычный NSURLConnection, а в didReceiveData обратного вызова NSURLConnection я хочу передать эти данные в GCDWebServerResponse.

Мне трудно понять, как я могу сохранить соединение с запросом открытым, чтобы я мог инициировать другой запрос с NSURLConnection и начать подавать данные в ответ.

Есть ли способ сделать это? Нужно ли мне создавать новый подкласс GCDWebServerStreamedResponse?

Заранее спасибо.


person csotiriou    schedule 07.10.2015    source источник


Ответы (1)


Вам не нужно создавать подкласс GCDWebServerStreamedResponse, а просто создать его экземпляр и использовать обратный вызов GCDWebServerAsyncStreamBlock.

В обратном вызове создайте свой NSURLConnection и запустите его асинхронно. Затем всякий раз, когда доступны новые данные (например, из -didReceiveData:), передайте их с помощью GCDWebServerBodyReaderCompletionBlock, а когда данных больше нет, передайте пустой NSData.

См. "Расширенная асинхронная версия" в README GCDWebServer, где описана аналогичная концепция.

person Pol    schedule 12.10.2015