我正在开发一个聊天应用程序,我正在使用FCM,PHP后端和Volley请求.
最初,当我登录我的应用程序时,聊天工作正常而且速度很快,但是在一段时间后凌空超时错误开始出现并且由于我没有使用任何重试策略,聊天消息会丢失.
如果我增加套接字超时并使用重试策略,那么app会挂起.
请帮忙.
这是我的代码片段,我在其中调用API:
public voID doNetworkRequest(int type, String url, final HashMap<String, String> params, Response.Listener requestListener, Response.ErrorListener errorListener) { StringRequest mRequest = new StringRequest(type, url, requestListener, errorListener) { @OverrIDe protected Map<String, String> getParams() throws AuthFailureError { return params; } @OverrIDe public Map<String, String> getheaders() throws AuthFailureError { Map<String, String> headers = new HashMap<String, String>(); return headers; } };// int socketTimeout = 500000;// RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAulT_MAX_RETRIES, DefaultRetryPolicy.DEFAulT_BACKOFF_MulT);// mRequest.setRetryPolicy(policy); mQueue.add(mRequest); }
更新:这个问题几乎每个API都会出现,有时候像登录,注销,聊天等
解决方法:
试试这段代码
request.setRetryPolicy(new DefaultRetryPolicy(20 * 1000, 1, 1.0f));
这是用于重试失败的请求和自定义请求超时
总结以上是内存溢出为你收集整理的php – Android:聊天APP中的排球超时错误全部内容,希望文章能够帮你解决php – Android:聊天APP中的排球超时错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)