1

我正在使用 TIdHTTP Post 向我们的服务器发送大量数据。上传效果很好,但是在网络断开然后重新连接时,我需要从中断的地方继续。这在某些时候一切正常,但是在网络断开时发生的是当前块挂起。Post 请求永远不会返回。

我必须不要放弃上传。上传必须最终完成。该软件在普通用户的 PC 上运行,因此我无法控制他们的网络拓扑或稳定性。

那么,如何确保 Post 请求在网络断开时失败,而不是无限期挂起?

我没有耐心看它是否会“最终失败”。我已经等了好几次了,但它还没有回来。而且,即使最终失败,也太长了。我需要它快速失败,这样我才能重新控制调度。

有什么方法可以强制超时并让它真正起作用吗?调试器显示它挂在 IOHandler.ReadLn 上的 FDSelect 中。

我的 Indy 版本是 10.5.5,这也不容易改变......

4

0 回答 0