URL에서 대용량 파일을 비동기 적으로 다운로드하고 데이터를 처리하기 전에 버퍼 (예 : 4096 바이트)를 특정 크기로 채워야합니다. NSURLConnection
과 같은 내장 객체를 사용하는 것이 좋지만 몇 가지 문제가 있습니다.Objective-C : URL의 특정 버퍼 크기 읽기
NSURLConnection
으로, didReceiveData:data
메시지는 언제 발사 할 것인지를 결정합니다. 예를 들어, 다운로드가 완료 될 때까지 954 바이트를 처음 수신 한 다음 1048 바이트를 수신 할 수 있습니다. 어쨌든 NSURLConnection
을 수정하여 수신 메시지를 시작하기 전에 필요한 버퍼 크기로 강제로 읽을 수 있습니까?
CFNetwork 클래스도 사용하고 있지만이 방법은 더 어려워 보이며 가능하면 사용하지 않으려합니다.
또한 잘 알려진 AsyncSocket
클래스를 사용하여이를 수행 할 수도 있지만 HTTP 헤더를 구문 분석해야하고 다른 웹 서버 구성과 관련하여 문제가 더 많아지는 느낌이들 것입니다.
미리 감사드립니다.
완벽한 덕분에! – Jim