出现这个的问题是因为在传输的过程中超时导致的,因为okhttp默认的超时时间很短,所以在开发过程中会进行超时设置,包括连接超时、读取超时和写入超时的配置,但是在项目中照片上传过程中还是出现了timeout和socket closed。我的解决是设置了calltimeout()解决了这个问题,此方法不一定适合所有出现这个问题的场景,具体的问题还是要具体分析解决。
OkHttpClient client = new OkHttpClient.Builder()
.callTimeout(100,TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60,TimeUnit.SECONDS)
.build();