Tamicer / Novate

A safety client by Https for android, (Android网络框架,基于Retrofit和RxJava打造的链式网络库, 支持okhttp的调用风格,又兼容Retrofit API,并支持rxJava链式操作)
Apache License 2.0
1.43k stars 268 forks source link

设置readTimeOut #30

Closed fanghe closed 7 years ago

fanghe commented 7 years ago

你好, 请问一下怎样可以设置Builder 的readTimeOut? 我只找到了connectTimeOut 和writeTimeOut

fanghe commented 7 years ago

我在使用RxUploadWithBody的时候总是出现连接超时的错误,但是文件其实已经成功上传,是不是应该是readTimeOut的问题,默认是十秒

Tamicer commented 7 years ago

@fanghe 稍等帮查看下

fanghe commented 7 years ago

谢谢

Tamicer commented 7 years ago

@fanghe 是这个问题 okhttp默认的值太短 ,不够读写文件,上传连接耗时和返回的解析数据的时间。

fanghe commented 7 years ago

可以在novate实例化的时候设置么?我看到有connectTimeOut和writeTimeOut的

Tamicer commented 7 years ago

稍等 !我开放一个接口 后续你更新一下

fanghe commented 7 years ago

好的 谢谢!

Tamicer commented 7 years ago

@fanghe o了 。1.5.3.1版本,开放了readTimeOut novate默认值都是15秒

fanghe commented 7 years ago

太感谢了!!

Tamicer commented 7 years ago

@fanghe 感谢建议 可能上传大文件时会出现你说的这种问题,建议根据Api自己的属性设置长一点

fanghe commented 7 years ago

我全部设置成了5分钟,可是总是在20秒左右的时候出现连接超时,有点奇怪。小文件没问题,说明返回没问题,大文件超时。我在novate的build里断点看了一下,TimeOut是修改成功了的,就是总是20秒超时

Tamicer commented 7 years ago

@fanghe 稍等 我在验证下

fanghe commented 7 years ago

好的,麻烦你了

Tamicer commented 7 years ago

@fanghe 1.5.3.2

fanghe commented 7 years ago

好的我试试

fanghe commented 7 years ago

好像还有点问题, 当unit不是秒的时候, readTimeout已经被换算成毫秒了 this.readTimeout = Utils.checkDuration("timeout", timeout, unit); if (timeout != -1) { okhttpBuilder.readTimeout(readTimeout, unit); } return this;

fanghe commented 7 years ago

我可能没说清楚,就是timeout先被换算成毫秒,然后按给入的unit一起设置okhttpBuilder的readTimeOUt,好像不是很对。不过我的连接超时问题解决了 : )

Tamicer commented 7 years ago

@fanghe 确实有点 我掠掠

Tamicer commented 7 years ago

@fanghe 可以用最新的1.5.3.3

lianchengtong commented 5 years ago

可以上传多张图片吗?用upload接口不行,返回连接超时,这是什么情况?