这段代码出了什么问题?
它不会返回true
。永远是false
的即时回报。
public boolean chkCon() {
try {
URL url = new URL("http://google.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int code = connection.getResponseCode();
return code == 200;
} catch (Exception e){
return false;
}
}
如果我设置:
public boolean chkCon() {
return true; // it works
}
答案 0 :(得分:1)
检查这样的有效互联网连接:
private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}
检查特定服务器是否已启动:
// Host to check
String host = "http://www.google.com/";
//Timeout in millis
int timeout = 30000;
if(InetAddress.getByName(host).isReachable(timeOut)){
//Successful ping
}else{
//Unsuccessful ping
}
答案 1 :(得分:1)
这种情况正在发生,因为发生了异常。您的代码的问题是您在主线程上有网络调用。要避免发生该异常,请使用以下代码。
FROM azul/zulu-openjdk-centos:latest
VOLUME /tmp
ADD myspecificcode.jar app.jar
RUN bash -c 'touch /app.jar'
ENV javaMemoryLimit="1024M"\
JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Dsun.rmi.dgc.client.gcInterval=3600000 -XX:+MaxFDLimit -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC"
ENTRYPOINT java $JAVA_OPTS -Xmx$javaMemoryLimit -jar /app.jar
} 希望对你有帮助。