Android ConnectTimeoutException часто появляется

Я пытаюсь создать мобильное приложение, в котором бы все веб-сервисы работали должным образом до пятницы. Но теперь, когда я проверяю сейчас каждый JSON, который я вызываю, выдает исключение ConnectTimeoutException. Эти JSON отлично работают на прошлой неделе, и я не внес никаких изменений в свой код. Вот мой журнал для вашей справки:

  08-24 12:22:36.270: W/System.err(32545): org.apache.http.conn.ConnectTimeoutException: Connect to /54.193.42.98:80 timed out
08-24 12:22:36.274: W/System.err(32545):    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
08-24 12:22:36.279: W/System.err(32545):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
08-24 12:22:36.280: W/System.err(32545):    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-24 12:22:36.281: W/System.err(32545):    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-24 12:22:36.283: W/System.err(32545):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:374)
08-24 12:22:36.288: W/System.err(32545):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:575)
08-24 12:22:36.289: W/System.err(32545):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:498)
08-24 12:22:36.293: W/System.err(32545):    at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:76)
08-24 12:22:36.293: W/System.err(32545):    at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:95)
08-24 12:22:36.294: W/System.err(32545):    at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:57)
08-24 12:22:36.294: W/System.err(32545):    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
08-24 12:22:36.295: W/System.err(32545):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-24 12:22:36.295: W/System.err(32545):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-24 12:22:36.296: W/System.err(32545):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-24 12:22:36.297: W/System.err(32545):    at java.lang.Thread.run(Thread.java:841)

Когда я зарегистрировался в бэкэнде, я увидел, что на сервер не отправляется запрос. Можете ли вы помочь мне решить эту проблему. Вот мой код для вызова веб-службы для вашей справки:

private void RecommendedCategories_WS() {
    // TODO Auto-generated method stub
    Log.i("FavouritesList_WS",
            "FavouritesList_WS: "
                    + "http://beta.teambv.us/mobile/services/json/RecomondedCategories.json/1877746/100@0");

    Data1.loading_box(Download.this, "");

    AsyncHttpClient client = new AsyncHttpClient();
    RequestParams params = new RequestParams();
    client.get(
            "http://beta.teambv.us/mobile/services/json/RecomondedCategories.json/1877746/100@0",
            new AsyncHttpResponseHandler() {

                @Override
                public void onSuccess(String response) {
                    // TODO Auto-generated method stub
                    Log.i("RecommendedCategories_WS",
                            "RecommendedCategories_WS: " + response);
                    recommendedCategories = new ArrayList<QQ_RecommendedCategoriesList>();

                    try {
                        JSONObject jsonObject = new JSONObject(response);

                        JSONObject jobJsonObj = jsonObject
                                .getJSONObject("mobile");

                        JSONArray jsonArray = jobJsonObj
                                .getJSONArray("recomondedList");

                        Log.i("length", "length: " + jsonArray.length());

                        if (jsonArray.length() == 0) {

                        } else {
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject details = jsonArray
                                        .getJSONObject(i);
                                String recomndedType = details
                                        .getString("recomndedType");
                                String recomondedName = details
                                        .getString("recomondedName");
                                int recomondedId = details
                                        .getInt("recomondedId");

                                recommendedCategories
                                        .add(new QQ_RecommendedCategoriesList(
                                                recomndedType,
                                                recomondedName,
                                                recomondedId));
                            }
                            sellMethod();
                            Data1.loading_box_stop();
                        }

                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }

                @Override
                public void onFailure(Throwable arg0) {
                    // TODO Auto-generated method stub

                }

            });
}

1 ответ

Попробуйте увеличить время ожидания, используя

org.asynchttpclient.connectTimeout=5000 в api / src / main / resources / ahc-default.properties ref

https://github.com/AsyncHttpClient/async-http-client/search?utf8=%E2%9C%93&q=timeout&type=Code

Другие вопросы по тегам