我正在使用TIdHTTP Post向我们的服务器发送大量数据。上传效果很好,但在网络断开然后重新连接时,我需要继续我离开的地方。这种情况在某些时候都可以正常工作,但网络断开连接的情况是当前的块会挂起。邮政请求永远不会返回。
我不必放弃上传。上传必须最终完成。该软件在普通用户的PC上运行,因此我无法控制其网络拓扑或稳定性。
那么,如何确保Post请求在网络断开时失败,而不是无限期挂起?
我没有耐心看看它是否会“最终失败”。我已经好几次等了很久,但还没回来。而且,即使它最终失败了,也是太长了。我需要快速失败,以便重新控制调度。
有没有办法强制超时并让它真正起作用?调试器在IOHandler.ReadLn上显示它挂在FDSelect中。
我的Indy版本是10.5.5,这也不容易改变......