Как проверить подключение к веб-сервису

1

Я разрабатываю Android-приложение и приложение iOS phonegapp. Собственный код Android загружает html файл для приложения с помощью:

super.loadUrl() 

В этом html файле я запускаю запросы ajax в web-службу.

Но прежде чем я подключусь к веб-сервису и сделаю ajax-вызовы, я проверил бы подключение к веб-сервису, и когда я не смогу подключиться к веб-сервису, приложение должно быть закрыто, прежде чем загружать html с предупреждением или предупреждением.

  • 0
    Как насчет отправки запроса AJAX после загрузки телефонной щели. Пока вы можете дать загрузочный экран / заставку. И если вы не можете подключиться к веб-сервису, вы можете вызвать пользовательский код выхода.
  • 0
    Проверьте свой ответ веб-службы с помощью Junit сейчас ... findnerd.com/list/view/…
Теги:
cordova

1 ответ

0

Вы можете использовать HttpURLConnection для отправки запроса и проверки тела ответа для текста, который является уникальным для этой страницы (вместо того, чтобы просто проверять, есть ли вообще ответ, на случай, если страница об ошибке или обслуживании или что-то подано),

Apache Commons имеет библиотеку, которая удаляет много плиты котла для создания запросов Http на Java.

Я никогда не делал ничего подобного на Android, но я был бы удивлен, если бы это было иначе.

Вот краткий пример:

URL url = new URL(URL_TO_APPLICATION);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream stream = connection.getInputStream();
Scanner scanner = new Scanner(stream); // You can read the stream however you want. Scanner was just an easy example
boolean found = false;
while(scanner.hasNext()) {
    String next = scanner.next();
    if(TOKEN.equals(next)) {
        found = true;
        break;
    }
}

if(found) {
    doSomethingAwesome();
} else {
    throw aFit();
}

Также попробуйте это

Вероятно, ему нужен код Java, так как он работает на Android. Явный эквивалент Java, который, я считаю, работает на Android, должен быть:

InetAddress.getByName(host).isReachable(timeOut)
  • 0
    но это позволит вам знать, только если какое-либо соединение доступно, а не если веб-сервер готов / если сервер работает
  • 0
    Мне нужно знать, если сервер в сети или нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню