2012-06-04 8 views
1

큰 파일을 다운로드해야합니다. 얼마 후 나는 장치가 잠 또는 와이파이 것입니다 있기 때문에 믿을큰 파일을 다운로드 할 때 소켓 예외가 발생했습니다.

java.net.SocketException: Connection timed out 

를 얻을.

그래서 어떻게 처리해야합니까? 얼마나 많은 시간이 걸리더라도 사용자가 큰 파일을 다운로드 할 수 있기를 바랍니다.

파일 다운로드를 사용하여 수행됩니다 :

HttpURLConnection con = (HttpURLConnection) new URL(uriToFile).openConnection(); 
con.connect(); 

FileOutputStream fileOutput = new FileOutputStream(file); 
InputStream inputStream = con.getInputStream(); 

byte[] buffer = new byte[1024]; 
int bufferLength = 0; 

while ((bufferLength = inputStream.read(buffer)) > 0) { 

    fileOutput.write(buffer, 0, bufferLength); 

} 

fileOutput.close(); 

감사합니다.

+3

코드를 보지 않고 당신을 도울 수 없습니다. –

+1

'socket.setSoTimeout (nnnn);을 늘려 볼 수도 있습니다. – paulsm4

+0

서버로부터 응답을 받고 있습니까? – Th0rndike

답변

0

연결을 다시 시도하는 것 외에는 처리 할 수 ​​없습니다. 기본 연결 제한 시간을 약 75 초로 낮출 수는 있지만 늘릴 수는 없습니다.

+0

왜 시간을 단축해야합니까? 그리고 내가 HttpURLConnection을 사용하여 파일을 다운로드 할 때 이것을 수행하는 방법은 무엇입니까? – Streetboy

+0

@Streetboy 시간 제한을 낮춰야한다고 말하지 않았으므로 제공 할 답변이 없습니다. 생각하는 사람에게 물어보십시오. 나는하지 않는다. – EJP

관련 문제