Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / SocketTimeoutException переодически / 6 сообщений из 6, страница 1 из 1
18.02.2015, 17:48
    #38883208
Витяй1991
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocketTimeoutException переодически
Добрый вечер!
Отправляю GET запрос на сервер, он нормально срабатывает несколько раз, потом перестает работать и выкидывает SocketTimeoutException, потом опять нормально работает, потом опять перестает работать. Узнал, что нужно увеличить время тайм-аута, увеличил до 30 секунд, не помогло. Что интересно, такое происходит только при отправке данных на определенный url, когда делаю запрос к другим, все работает нормально. Через строку браузера запрос всегда срабатывает. Что можно с этим сделать?


Вот код метода:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 public static ServerData sendGet(String url) {
        HttpParams httpParams = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(httpParams, 30000);
        HttpConnectionParams.setSoTimeout(httpParams, 30000);

        HttpClient httpClient = new DefaultHttpClient(httpParams);

        try {
            HttpGet HttpGet = new HttpGet(url);

            HttpResponse httpResponse = httpClient.execute(HttpGet);
            code = httpResponse.getStatusLine().getStatusCode();
            msg = httpResponse.getStatusLine().getReasonPhrase();
            HttpEntity httpEntity = httpResponse.getEntity();

            String json = EntityUtils.toString(httpEntity, UTF_8);

            return new ServerData(httpResponse.getStatusLine().getStatusCode(), json);
        } catch (ConnectTimeoutException cte) {
            cte.printStackTrace();
            return new ServerData(HttpStatus.SC_REQUEST_TIMEOUT, "");
        } catch (IOException e) {
            e.printStackTrace();
            return new ServerData(1, "");
        } finally {
            httpClient.getConnectionManager().shutdown();
        }
    }



errorW/System.err﹕ java.net.SocketTimeoutException
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.net.PlainSocketImpl.read(PlainSocketImpl.java:491)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at .utils.Utils.sendGet(Utils.java:166)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at .activitys.LoadDataActivity$Registration.doInBackground(LoadDataActivity.java:292)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at .activitys.LoadDataActivity$Registration.doInBackground(LoadDataActivity.java:229)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-18 18:34:32.361 10158-10186/ W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
...
Рейтинг: 0 / 0
18.02.2015, 17:53
    #38883218
Витяй1991
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocketTimeoutException переодически
ругается на эту строчку
Код: java
1.
HttpResponse httpResponse = httpClient.execute(HttpGet);
...
Рейтинг: 0 / 0
18.02.2015, 18:00
    #38883229
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocketTimeoutException переодически
Можно ещё увеличить таймаут. Можно в 0 выставить чтобы его совсем небыло.
...
Рейтинг: 0 / 0
19.02.2015, 00:21
    #38883417
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocketTimeoutException переодически
может защита какая стоит, например 3 запроса с айпи в секунду и тп. Что если ф5 много-много раз в браузере нажать?
...
Рейтинг: 0 / 0
19.02.2015, 09:13
    #38883546
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocketTimeoutException переодически
Витяй1991

Код: java
1.
httpEntity.getContent().close()
...
Рейтинг: 0 / 0
19.02.2015, 17:45
    #38884297
Витяй1991
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocketTimeoutException переодически
оказалось, что проблема с сервером
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / SocketTimeoutException переодически / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]