San*_*eta 5 php android android-volley
我正在使用FCM,php后端和Volley进行请求的聊天应用程序。
最初,当我登录我的应用程序时,聊天可以正常且快速地进行,但是在某些时候出现凌空超时错误,并且由于我没有使用任何重试策略,聊天消息会丢失。
如果我增加套接字超时并使用重试策略,则应用会挂起。
请帮忙。
这是我正在调用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);
}
Run Code Online (Sandbox Code Playgroud)
更新:几乎每个API都会出现此问题,例如登录,注销,聊天等
小智 -1
request.setRetryPolicy(new DefaultRetryPolicy(DEFAULT_TIMEOUT_MS,
DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Run Code Online (Sandbox Code Playgroud)
增加你的DEFAULT_TIMEOUT_MS.