서버에서 일부 데이터를 다운로드하는 응용 프로그램을 설계했으며 네트워크에 문제가없는 경우 모두 올바르게 작동합니다. 그러나 다운로드 중에 네트워크 변동이있는 경우 일부 데이터가 다운로드되지 않고 앱이 다운됩니다. 여기 당신들에게 도움이 필요합니다. 이러한 상황을 처리하고 불완전하게 다운로드 된 데이터를 삭제하여 전체 데이터를 다시 다운로드하는 별도의 코드를 작성할 수 있습니까? 미리 감사드립니다.브로큰 다운로드 처리
답변
네트워크 변동이나 이와 유사한 문제가있는 경우 NSURLConnection 또는 다른 네트워크 API를 사용하는 경우 HTTP 오류 코드를 받아야합니다. 이를 사용하여 다운로드 된 불완전한 데이터를 삭제하고 컨트롤러 코드에 알리면 재 다운로드 등을 결정할 수 있습니다.
답장을 보내 주신 Aditya Kumar Pandey에게 감사드립니다. 하지만 다른 응용 프로그램 클래스에서 다른 파일을 다운로드하고 있습니다. 그리고이 코드를 별도의 클래스에 작성하고이 클래스의 모든 다운로드를 처리 할 수 있는지 알고 싶습니다. 그렇다면 단일 함수로 충분하고 인수와 반환 형식이 무엇인지 확인해야합니다. –
Aditya가 맞습니다. , 연결이 다음 위임 방법을 사용하여 응답 코드를 읽을 수 있습니다 나누기 경우가있는 NSURLConnection을 사용하고 있는지
- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response {
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
int responseStatusCode = [httpResponse statusCode];
}
을 가정하고 연결을 중지하고 미완성 다운로드 데이터 삭제를 진행할 수 있습니다.
댓글에 대한 답변이 업데이트되었습니다.
다른 클래스에서 다른 연결을 사용하는 경우이 클래스를 각 클래스에 구현해야합니다. 제 생각에는 특정 클래스가 모든 연결 관련 작업을 처리하는 것과 같은 디자인이 있어야합니다. (귀하의 요구 사항에 맞지 않을 수 있습니다.) 그러나 현재 디자인의 경우이 클래스를 모든 클래스에서 사용해야합니다.
빠른 답변을 주신 ElanthiraiyanS에게 감사드립니다. 하지만 다른 응용 프로그램 클래스에서 다른 파일을 다운로드하고 있습니다. 그리고이 코드를 별도의 클래스에 작성하고이 클래스의 모든 다운로드를 처리 할 수 있는지 알고 싶습니다. 그렇다면 단일 함수로 충분하고 인수와 반환 형식이 무엇인지 확인해야합니다. –
내 대답이 업데이트되었습니다. – sElanthiraiyan
예. 당신은 그것을 할 수 있습니다.
두 가지 상황이 있습니다.
1. 네트워크를 사용할 수 없습니다.
->이 문제를 해결하려면 "Rechability"샘플 코드 (Apple 제공)를 사용해야합니다. 다운로드를 시작하기 전에 인터넷 사용 가능 여부를 확인해야합니다.
- 또는 인터넷 rechability를 확인하지 않으면 NSURL 연결의 대리자 메서드에서 오류 코드 (404)가 표시됩니다.
- (void) connection : (NSURLConnection *) connection didReceiveResponse : (NSURLResponse *) response
2. 네트워크 변동.
여기서 네트워크가 변동하는 경우 다운로드하는 것을 의미합니다. 연결 didFailWithError (있는 NSURLConnection *) : 당신은
- 1. 브로큰 파이프 오류
- 2. 브로큰 파이프 오류의 원인은 무엇입니까?
- 3. java.net.SocketException의 : 브로큰 파이프 MSSQL DB
- 4. 브로큰 파이프 (Java, Apache Mina)
- 5. C#에서 동시 다운로드/처리
- 6. 파이썬 CGI 스크립트 IOError 브로큰 파이프
- 7. scala-tools Maven Repo 변경 : sbt 브로큰
- 8. 다중 파일 다운로드 및 Perl로 처리
- 9. python3 pop3을 통해 메일 다운로드 및 처리
- 10. 파이프 EC2 서버에서 Mahout 샘플을 실행할 때마다 브로큰 예외가 발생했습니다
- 11. 파일을 쓰려고 할 때 브로큰 파이프 예외가 발생했습니다.
- 12. Django dev 서버의 브로큰 파이프 - 이것이 실제로 의미하는 것은 무엇입니까?
- 13. mod_jk를 사용할 때 Apache와 GlassFish 사이의 "브로큰 파이프"
- 14. 브로큰 파이프와 피어에 의한 연결 재설정의 차이점은 무엇입니까?
- 15. 브로큰 파이프 오류 후 Tomcat 서블릿 매핑 오류
- 16. java.net.SocketException : Connection reset과 java.net.SocketException : 브로큰 파이프의 차이점은 무엇입니까?
- 17. jQuery를 UI 탭 : 파이어 폭스에서 작업, IE에서 브로큰
- 18. Youtube API 비디오 스트림이 브로큰 사이트에서 일부 방향이 필요합니다.
- 19. Plone 4 : 브로큰 제품. 누락 된 종속성 오류
- 20. 어떻게 파이어 폭스 스크립트를 사용하여 비디오를 다운로드 할 수있는이 특정 다운로드 리디렉션을 처리 할 수 있습니까?
- 21. 파일 다운로드 스케줄러로 TPL 사용 및 각 파일 처리
- 22. 보내는/보내는 전자 메일 다운로드 및 처리, 서버 쪽
- 23. Firefox 다운로드 다운로드
- 24. 다운로드
- 25. 다운로드
- 26. 다운로드
- 27. 이진 파일 다운로드
- 28. HTML 다운로드 영화 다운로드 링크
- 29. 앱 다운로드 후 이미지 다운로드
- 30. 다운로드 도중 DownloadManager 다운로드 "중지"
가 일부 코드를 게시하려고이 방법 내에서 모든 일을 처리 할 수
(NSError *) 오류가 현재하고있는 일 (무효) 연결을 - 그럼 방법
아래 호출 . –