And*_*eky 11 android timeout http web android-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)现在的应用是Android
和iOS
和web
,但timeout
只针对发生Android
.
要求的排球日志:
BasicNetwork.logSlowRequests: HTTP response for request
Run Code Online (Sandbox Code Playgroud)
编辑说明:
在服务器端开发的Web服务对于所有三个实例(Android,Web和iOS)都是相同的.
Timeout
当有太多用户向服务器发出请求时发生.
我已经设定了2分钟的时间,但有时只有30秒的凌空抽射超时.
我有很多答案来改变服务器,但因为它是不可能所以任何其他解决方案请.
我还想补充一点,如果我能获得更多关于何时可以超时的超时的信息?
参考文献我经历过:
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
.
任何帮助都会得到满足.
谢谢.
由于我试图解决这个问题大约两个月了,我没有得到任何完美的解决方案。虽然我分析了以下一些事实:
HttpURLConnection
但仍然遇到同样的问题。所以我认为这个问题并不是 volley 所特有的,但是当您遇到这个问题时,我建议通过以下自定义来提高服务器性能RetryPolicy
:
int x=2;// retry count
request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
x, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Run Code Online (Sandbox Code Playgroud)
希望它会有所帮助。
随时欢迎提出建议:)
如果您找到更合适的解决方案,请在下面评论。
谢谢。!
归档时间: |
|
查看次数: |
8823 次 |
最近记录: |