我正在尝试连接客户端服务器,在打开连接时遇到下面提到的错误:
java.net.ConnectException: errno: 110 (Connection timed out), error:
Connection timed out (local port XXXXX to address 0:0:0:0:0:0:0:0, remote
port XXXX to address XXX.XXX.XXX.XX)
代码片段:
URL url = new URL("http://XXX.XXX.XXX.XX:XXXX/services/ServiceEngine");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(json);
writer.close();
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect();
最佳答案
当服务器未能在预定时间段内响应时,就会发生连接超时,并且与代码中的逻辑没有太大关系。
您可以使用 HttpURLConnection.setConnectTimeout() 更改此时间段,如下所示:
connection.setConnectTimeout(10000); //Time is set in milliseconds, so 1000 is 1 second.
另外,正如另一位用户指出的那样,您的服务器可能实际上尚未启动并准备好托管连接。
关于java.net.ConnectException : errno: 110 (Connection timed out),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51943177/