Случайный: ConnectException: соединение не удалось: ETIMEDOUT (Тайм-аут соединения)
Веб-сервис был разработан в ASP.NET
Мы используем KSOAP2
в приложении для Android. Теперь приложение SOMETIMES получает ошибку, как указано выше.
Сервер и клиенты находятся в одной сетевой среде. Поскольку ошибка генерируется при СЛУЧАЙНОМ состоянии, я не могу найти причину ее возникновения.
ПЫТАЛСЯ:
- Проверка сети / Проверка доступности / Telnet и проверка связи с сервером.
- Устройства / Эмуляторы в одной и той же сети.
- Подключение 3G / EDGE / WiFi на устройствах.
- Серверу выделена максимальная пропускная способность (кроме того, сейчас только одно устройство использует его.)
ПРИМЕЧАНИЕ. Все возможные комбинации вышеуказанных пунктов были опробованы несколько раз.
Может кто-нибудь посоветовать мне, как я могу отследить это? (Основная проблема - это случайность)
Также есть мысли о том, включен ли он server side
или же client side
?
1 ответ
Во-первых, вы должны проверить, что ваш вызов KSOAP2 выполняется в отдельности Thread
,
Затем вы должны установить правильное значение для тайм-аута.
HttpsTransportSE transport = new HttpsTransportSE(host, port, file, timeout);
Это случайное исключение, поэтому трудно найти причину. Возможно, ваш сервер иногда имеет задержку. Но это обычная проблема. Вы должны сделать обработку исключения для корректно работающего приложения. В этом случае сделайте новый звонок на ваш веб-сервис.