相关疑难解决方法(0)

仅在Android而非iOS上使用"Volley"进行服务器请求超时

在我的一个应用程序中,我使用Googlevolley提供的服务器发送请求.

问题:超时和错误对象为空 onErrorResponse(VolleyError error)

到目前为止我尝试了什么:

1)首先我得到了null错误对象,所以使用下面的代码解决了它:

 @Override
 protected void deliverResponse(String response) {
    super.deliverResponse(response);
 }

 @Override
 public void deliverError(VolleyError error) {
     super.deliverError(error);
     DebugLog.e("deliverResponse", "getNetworkTimeMs : " + error.getNetworkTimeMs());
 }
Run Code Online (Sandbox Code Playgroud)

到目前为止,我得到了timeout当我得到错误对象时发生的事情null.

2)现在的应用是AndroidiOSweb,但timeout只针对发生Android.

要求的排球日志:

BasicNetwork.logSlowRequests: HTTP response for request
Run Code Online (Sandbox Code Playgroud)

编辑说明:

  1. 在服务器端开发的Web服务对于所有三个实例(Android,Web和iOS)都是相同的.

  2. Timeout 当有太多用户向服务器发出请求时发生.

  3. 我已经设定了2分钟的时间,但有时只有30秒的凌空抽射超时.

  4. 我有很多答案来改变服务器,但因为它是不可能所以任何其他解决方案请.

我还想补充一点,如果我能获得更多关于何时可以超时的超时的信息?

参考文献我经历过:

优化排球

HttpClient的,经常超时的-使用-WiFi的是持续的,细带-3G

long_xmlhttprequest_ajax_requests_timeout_on_android

编辑:

我还设置了重试政策如下:

request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
                0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Run Code Online (Sandbox Code Playgroud)

而且我也不想在连接超时时重试.

如何才能进行有效的服务调用,以解决问题timeout.

任何帮助都会得到满足.

谢谢.

android timeout http web android-volley

11
推荐指数
1
解决办法
8823
查看次数

标签 统计

android ×1

android-volley ×1

http ×1

timeout ×1

web ×1