我正在进行 REST 调用来下载数据。服务器的代理超时时间为30s。我下载的数据很大(>2GB)。客户端盒子没有基础设施来处理这个问题。因此,我使用流并解析数据,并将处理后的数据存储在我的数据库中。
这里的问题是,由于代理超时为 30 秒,当客户端变慢时,代理会重置连接。当我直接点击该框时,我没有收到任何错误。即使我没有从服务器读取流,有什么方法可以保持连接处于 Activity 状态吗?
最佳答案
连接保持打开状态的时间应尽可能短。因此,您应该
- 下载整个文件
- 将其作为临时文件写入磁盘(查看
java.io.File.createTempFile
) - 然后读取并处理这个临时文件
关于java - 读取大文件并连续处理时连接重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662300/