我想在iOS上使用GCDWebServer
创建服务器,该服务器将接受localhost
的请求,然后从另一个url
(视频文件)中提取数据并流式传输数据到响应。我打算使用简单的NSURLConnection
,并且在didReceiveData
回调的NSURLConnection
中,我想将此数据传递给GCDWebServerResponse
。
我很难弄清楚如何保持请求打开的连接,以便我可以发起另一个请求w / NSURLConnection
,并开始向响应提供数据。
我有什么方法可以做到吗?我是否需要创建GCDWebServerStreamedResponse
的新子类?
提前谢谢。
答案 0 :(得分:2)
您不需要子类GCDWebServerStreamedResponse
,只需实例化它并使用GCDWebServerAsyncStreamBlock
回调。
在回调中,创建NSURLConnection
并让它以异步方式运行。然后,每当有新数据可用时(例如来自-didReceiveData:
),使用GCDWebServerBodyReaderCompletionBlock
传递它,当没有更多可用数据时,传递一个空的NSData。
有关类似概念,请参阅GCDWebServer README中的“高级异步版本”。