2013-10-15 4 views
0

FTP를 연결하기 위해 java 코드를 작성했습니다. ftp4j-1.7.2 병을 사용하여 FTP를 통해 java.lang을 연결했습니다. String [] "it.sauronsoftware.ftp4j .FTPClient.connect (String arg0) "및"it.sauronsoftware.ftp4j.FTPClient.disconnect (boolean arg0) "메서드를 사용하여 FTP에 연결하고 연결을 끊을 수 있습니다. 코드는 java 1.5에서 실행할 때 올바르게 작동하지만 괜찮습니다. java.net.SocketTimeoutException : Read timed out "Java 1.6에서 실행할 때 연결을 끊는 동안 아무에게도 알려 줄 수 없습니다.무엇이 java.net.SocketTimeoutException의 원인입니까? 시간 초과 읽기 :

오류 로그 :

Stack: 
    java.net.SocketTimeoutException: Read timed out 
    at java.net.SocketInputStream.socketRead0(Native Method) 
    at java.net.SocketInputStream.read(SocketInputStream.java:129) 
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) 
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) 
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) 
    at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:107) 
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:93) 
    at java.io.InputStreamReader.read(InputStreamReader.java:151) 
    at it.sauronsoftware.ftp4j.NVTASCIIReader.readLine(NVTASCIIReader.java:105) 
    at it.sauronsoftware.ftp4j.FTPCommunicationChannel.read(FTPCommunicationChannel.java:142) 
    at it.sauronsoftware.ftp4j.FTPCommunicationChannel.readFTPReply(FTPCommunicationChannel.java:187) 
    at it.sauronsoftware.ftp4j.FTPClient.disconnect(FTPClient.java:1133) 
+1

연결하려고하고 서버를 사용할 수 없거나 잘못된 URL이 있습니다. – anfy2002us

+0

아니요. 연결을 끊고 Java 1.5에서 코드를 실행하면 연결을 끊을 수 없으며 Java 1.6에서 실행할 때 연결할 수 있습니다. 우리는 연결을 끊을 수 없습니다. –

+1

@ anfy2002us 스택 추적에서 그가 연결을 끊으려고한다는 것을 완벽하게 알 수 있습니다. * 연결이 성공 했으므로 서버 *를 사용할 수 있었고 * 그의 URL이 맞습니다. 질문을 읽으십시오. – EJP

답변

2

이것은 IPV 문제 일 수 있습니다. 다음 플래그를 사용해보십시오 :

-Djava.net.preferIPv4Stack=true 
+5

이것은 답이 적고 의견이 많습니다. – Brian

+1

IPv6 문제로 인해 연결 문제가 발생하며 연결 ​​해제 중에는 시간 초과 읽기가 발생하지 않습니다. -1 – EJP

0

이것은 시간 초과 기간 동안 데이터가 도착하지 않았 음을 의미합니다. 이 경우 연결 끊기 요청에 대한 응답이 없습니다. 분명히 당신이 사용하고있는 라이브러리가 읽기 타임 아웃을 설정하고 있거나, 아마도 당신이 그렇습니다. 그리고 너무 짧습니다, 당신이 그것을 늘릴 수 있는지보십시오.

어딘가에 읽기 시간 초과 문제가 발생하지 않는 한 다른 JDK와 다른 동작을 설명 할 수는 없지만 읽는 시간 초과 문제는 전혀 인식하지 못했고 모든 경우 1.1로 돌아갑니다. .2.

+0

하지만 자바 1.5에서 실행할 수 있지만 자바 1.6 문제가 직면 할 수 있습니다, 내가 무슨 문제가 될 수 있습니다. –

관련 문제