У меня есть интересная проблема.Тайм-аут для UnknownHostException с установленным соединением, но без Интернета
У меня есть приложение, внутри которого я пытаюсь объяснить условие, когда телефон подключен к маршрутизатору, но этот маршрутизатор не подключен к Интернету.
Я пробовал несколько способов установления соединения, но NONE из тайм-аутов учитывает это условие.
Я пробовал:
HttpParams httpParameters = new BasicHttpParams();
int timeoutSocket = 1000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutSocket);
Я также попытался:
HttpURLConnection huc = (HttpURLConnection)serverAddress.openConnection();
huc.setDoOutput(true);
huc.setRequestMethod("PUT"); // For amazon
//huc.setRequestMethod("POST"); // For regular server.
huc.setRequestProperty("Content-Type", "text/plain");
huc.setRequestProperty("Content-Length", String.valueOf(bytes));
huc.setFixedLengthStreamingMode(bytes);
huc.setConnectTimeout(1000); // Establishing connection timeout
huc.setReadTimeout(1000);
Но в обоих случаях, когда я исполняю/получить выходной поток, он занимает около 20 секунд, чтобы получить ошибка UnknownHostException.
Я хотел бы, чтобы это было достигнуто максимум за 5 секунд до достижения этого вывода.
Есть ли способ сделать это?
Приветствия
Не могли бы вы рассказать, где я должен помещать эту строку кода, относящуюся к UrlConnection? –
Вы должны просто указать его перед URLConnection, то есть: URL-адрес = новый URL-адрес («Ваш URL-адрес»); InetAddress inetAddress = InetAddress.getByName (адрес.getHost()); URLConnection urlConnection = address.openConnection(); – Dave