带有GCDWebServer的iOS重新路由请求(不重定向)

时间:2015-10-07 20:47:47

标签: ios network-programming gcdwebserver

我想在iOS上使用GCDWebServer创建服务器,该服务器将接受localhost的请求,然后从另一个url(视频文件)中提取数据并流式传输数据到响应。我打算使用简单的NSURLConnection,并且在didReceiveData回调的NSURLConnection中,我想将此数据传递给GCDWebServerResponse

我很难弄清楚如何保持请求打开的连接,以便我可以发起另一个请求w / NSURLConnection,并开始向响应提供数据。

我有什么方法可以做到吗?我是否需要创建GCDWebServerStreamedResponse的新子类?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您不需要子类GCDWebServerStreamedResponse,只需实例化它并使用GCDWebServerAsyncStreamBlock回调。

在回调中,创建NSURLConnection并让它以异步方式运行。然后,每当有新数据可用时(例如来自-didReceiveData:),使用GCDWebServerBodyReaderCompletionBlock传递它,当没有更多可用数据时,传递一个空的NSData。

有关类似概念,请参阅GCDWebServer README中的“高级异步版本”。