@Override
public void onFailure(Call call, IOException e) {
if (e instanceof SocketTimeoutException) {
// 重新提交验证 在这里最好限制提交次数
client.newCall(call.request()).enqueue(this);
}
if (e instanceof ConnectTimeoutException) {
Log.e("frost_connection",e.getMessage());
}
}
SocketTimeoutException造成的原因是服务器响应超时
ConnectTimeoutException造成的原因是服务器请求超时
对应SocketTimeoutException解释为:服务器已经收到了请求,但是在做出响应的时候超时了,就会导致OKhttp回调onfailure方法,在这个时候,应该重新请求验证服务器是否做出更新。如果已经做出更新则为成功。
对应ConnectTimeoutException解释为:请求服务器超时,服务器并未收到来自客户端的请求。
————————————————
版权声明:本文为CSDN博主「android_frost」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/androidisgod/article/details/103986220