안녕하세요. Java 응용 프로그램에서 작업 중이며 Jboss
, Windows 8 서버에 배포되었습니다. 내 서버 코드에서 내 제품과 통신하는 데 HttpUrlconnection
을 사용합니다.연결이 거부되어 Java HttpUrlConnection 연결 시간 초과가 작동하지 않습니다.
내 제품에 연결할 때 evey 연결에 시간 제한을 설정하고 싶습니다. 그래서 나는 HttpUrlconnection.setconnectionTimeout(30000)
을 30 초 제한 시간 동안 사용합니다. 그러나 연결은 9 분에 거절되었습니다. HttpUrlconnection.setconnectionTimeout()
이 현재 작동하지 않습니다.
TCP Timeout에 의해 발생한 문제를 발견했으며 Windows 8 서버에서 재전송 제한이 설정되었습니다. 기본적으로 TCP 재전송 제한은 2입니다. 2 회 시도한 후 연결이 취소되거나 거부됩니다.
제 질문은 Windows 레지스트리 파일을 변경하지 않고 Java 측에서이 문제를 피하는 방법입니다. 그것은 settimeout에 어떤 가능성도 가지고 있거나 TCP SYN/RST/ACK 메카니즘을 재 시도하여 연결이 거부 된 문제를 피할 수 있음을 의미합니다.
하나라도 알고 있나요, 내가이 문제
url = new URL(requestURL);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.setRequestMethod("GET");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setConnectTimeout(30000
connection.setReadTimeout(30000;
try {
// Get Response
inputStream = connection.getInputStream();
} catch (IOException e) {
//
}
를 해결하는 데 도움을 주시기 바랍니다
예외가 연결이 거부 그건
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
'connection.setConnectTimeout (30000' 및'connection.setReadTimeout (30000;) 오류가 있습니까? – ChiefTwoPencils