1

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

我很难弄清楚如何保持与请求的连接处于打开状态,以便我可以启动另一个带有 / 的请求NSURLConnection,并开始为响应提供数据。

有什么办法可以做到吗?我需要创建一个新的子类GCDWebServerStreamedResponse吗?

先感谢您。

4

1 回答 1

4

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

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

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

于 2015-10-12T16:45:43.613 回答