admin管理员组

文章数量:1606451

嗨,我正在开发Java应用程序并部署在Jboss,Windows 8服务器上。在我的服务器代码中,我使用HttpUrlconnection与我的产品进行通信。由于连接拒绝,Java HttpUrlConnection连接超时不工作

我想为evey连接设置一个时间限制来连接我的产品。所以我使用HttpUrlconnection.setconnectionTimeout(30000) 30秒的时间限制。但在9分钟时连接被拒绝。 HttpUrlconnection.setconnectionTimeout()目前无法使用。

我已经发现TCP超时发生的问题,并已在Windows 8服务器中设置了重传限制。默认情况下,TCP重新传输限制为2.尝试2次后,连接将被放弃或拒绝。

我的问题是,如何在不更改Windows注册表文件的情况下从java端避免此问题?这意味着可以设置超时或重试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.ConnectException: Connection refused: connect

at java.PlainSocketImpl.socketConnect(Native Method)

at java.PlainSocketImpl.doConnect(Unknown Source)

at java.PlainSocketImpl.connectToAddress(Unknown Source)

at java.PlainSocketImpl.connect(Unknown Source)

at java.SocksSocketImpl.connect(Unknown Source)

at java.Socket.connect(Unknown Source)

at sun.NetworkClient.doConnect(Unknown Source)

at sun.www.http.HttpClient.openServer(Unknown Source)

at sun.www.http.HttpClient.openServer(Unknown Source)

at sun.www.http.HttpClient.(Unknown Source)

at sun.www.http.HttpClient.New(Unknown Source)

at sun.www.http.HttpClient.New(Unknown Source)

at sun.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)

at sun.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)

at sun.www.protocol.http.HttpURLConnection.connect(Unknown Source)

at sun.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

2013-12-18

Murali

+0

是'connection.setConnectTimeout(30000'和'connection.setReadTimeout(30000;'这里只有错误吗?' –

本文标签: 被拒工作urlJava