iPhone/Mac - Como baixar arquivos com asyncsocket
-
22-09-2019 - |
Pergunta
Eu tenho um servidor remoto com alguns arquivos. Quero usar o Asyncsocket para baixar um arquivo, Chunk by Chunk. Gostaria de enviar solicitações HTTP com intervalos através do soquete e obter os pedaços de dados apropriados. Eu entendo como fazer isso no host localhost, mas não em um servidor remoto. Eu realmente não sei como usar os métodos ConnectToHost e AcceptOnInterface (anteriormente aceita).
Por favor ajude
Obrigado
Solução
Asyncsocket é uma conexão de dados de propósito geral. Se você quiser falar HTTP, você precisará codificar a parte HTTP. Você provavelmente não quer isso; NSURLConnection
Deve fazer o que você deseja, desde que o servidor o ofereça.
O que você está pedindo é o Range:
Cabeçalho em http. Veja 14.35.2 in RFC2616. Você só precisa adicionar este cabeçalho ao seu NSURLRequest
. Novamente, isso presume que o servidor com quem você está falando suporta isso (você precisa verificar o Accept-Ranges:
cabeçalho na resposta).
Há um pequeno artigo com código de exemplo sobre isso em Surgeworks.
Você também deve olhar para Asihttprequest, que inclui downloads resumíveis e download do Progress Delgates, e provavelmente pode ser adaptado para fazer downloads parciais. Pode já ter a solução para o problema específico que você está tentando resolver.