android客户端连接使用的OKhttp连接后台接口,连接其中一个接口的时候出现了如下报错:

java.net.SocketTimeoutException: timeout

正常情况下,服务器连接是没有问题的,因为我的数据有时候可以刷出来,但大多情况都会报这个异常。出现这个问题的原因是OKhttpClient客户端没有留足够的时间连接和处理数据,造成了超时的情况。

解决方案如下,将时间延长即可,这里我将时间延长至60s:

OkHttpClient client = new OkHttpClient().newBuilder().connectTimeout(60000, TimeUnit.MILLISECONDS)
                .readTimeout(60000, TimeUnit.MILLISECONDS)
                .build();

补充一下,此方案只是针对我当时遇到的情况,出现这个报错的原因有很多,比如:

1、检查服务器的防火墙是否关闭

2、更改配置后,redis是否重启

当然咯,也有可能是服务器不稳定造成的,至于其他原因欢迎评论区补充!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐