Как отладить SocketTimeoutException? - PullRequest
2 голосов
/ 11 июля 2011

Мы получаем java.net.SocketTimeoutException на сервере B, когда клиент A подключается к серверу B. Не знаю почему.Клиент отправляет данные на сервер, а затем сервер выдает это исключение.Как можно решить эту проблему?

Обратите внимание, что в настоящее время это произошло только один раз.Не уверен, что это воспроизводимо.Попытка настроить тест снова ..

Ответы [ 2 ]

0 голосов
/ 01 февраля 2013

У меня были такие же проблемы, когда мои пользователи использовали сеть 3G или 2G. Это означает, что вы отправляете запрос на сервер и не можете установить соединение из-за слабого интернет-сигнала. Вы можете увеличить тайм-ауты на ваше соединение

URLConnection connection;
int timeout = 30 * 1000; 
connection.setConnectTimeout(timeout);
connection.setReadTimeout(timeout);

Но если у вас есть weaaak weeeaaaak internet connection, таймауты вам не помогут. Я только что создал 1 testFunction в WebService (или вы можете использовать одну из ваших) для тестирования connection с server перед вызовом другой необходимой функции, и если я получаю SockectTimeoutException, вызывающий эту функцию - просто сообщите пользователю уведомление «Слабое интернет-соединение!» .

0 голосов
/ 12 июля 2011

Данные не поступили в приемник в течение периода ожидания. Это все, что это значит. Отладка означает, что выяснилось, почему отправленные вами данные не были отправлены. Например, отсутствует flush ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...