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

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐