今天开发的时候遇到一个网络请求超时的问题,后台处理是成功的,但是移动端返回的总是提示请求超时,在设置了retrofit请求超时的时间延长以后,就可以请求成功了,下面是配置的方法:
private static final OkHttpClient client = new OkHttpClient.Builder().
connectTimeout(30, TimeUnit.SECONDS).
readTimeout(30, TimeUnit.SECONDS).
writeTimeout(30, TimeUnit.SECONDS).build();
private <T> T configRetrofit(Class<T> service) {
Log.e(TAG, "configRetrofit");
try {
retrofit = new Retrofit.Builder()
.baseUrl(BuildConfig.MAIN_IP)
.client(client)
.addConverterFactory(SoapConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
return retrofit.create(service);
} catch (Exception e) {
LogUtil.e(TAG, "e:" + e);
return null;
}
}正常使用的情况下,retrofit增加一个client方法即可。
本文介绍了解决移动端使用Retrofit进行网络请求时出现超时问题的方法,通过设置连接、读取及写入超时时间为30秒,解决了后台处理成功但客户端提示超时的情况。
1222

被折叠的 条评论
为什么被折叠?



