我有一个带有一些文件的远程服务器。我想使用 AsyncSocket 逐块下载文件。我想通过套接字发送具有范围的 HTTP 请求并获取适当的数据块。我了解如何在本地主机上执行此操作,但不是从远程服务器。我真的不知道如何使用connectToHost 和acceptOnInterface(以前的acceptOnAddress)方法。
请帮忙
谢谢
我有一个带有一些文件的远程服务器。我想使用 AsyncSocket 逐块下载文件。我想通过套接字发送具有范围的 HTTP 请求并获取适当的数据块。我了解如何在本地主机上执行此操作,但不是从远程服务器。我真的不知道如何使用connectToHost 和acceptOnInterface(以前的acceptOnAddress)方法。
请帮忙
谢谢
AsyncSocket 是一种通用的数据连接。如果您希望它与 HTTP 通信,您需要自己编写 HTTP 部分。您可能实际上并不想要这个;NSURLConnection
应该做你想做的,只要服务器支持它。
您要的是Range:
HTTP 中的标头。请参阅RFC2616中的 14.35.2 。您只需将此标头添加到您的NSURLRequest
. 同样,这假定您正在与之交谈的服务器支持这一点(您需要检查Accept-Ranges:
响应中的标头)。
在Surgeworks上有一篇带有示例代码的简短文章。
您还应该查看ASIHTTPRequest,其中包括可恢复下载和下载进度委托,并且可能适合进行部分下载。它可能已经为您尝试解决的特定问题提供了解决方案。