用indy10的idhttp.post,已经连接上服务器并下载了部分,这时候服务器断开,indy会卡在post很久,如何让indy知道网络已经断开并在一个较短时间内响应呢?
不用readtimeout,我只想在网络断开时有超时判断。

解决方案 »

  1.   

    似乎没有很好的办法。
    一般都是给一个RECV()连接锁定时间,如果在规定的时间内没有收到数据
    就关闭这个连接。 关于判断连接
    用另外的程序判断,然后进程间通信是比较好的处理。
    用线程也行,一边下载,一边判断是否断线,似乎麻烦点。
      

  2.   

    idhttp1.ReadTimeout 设置不起作用吗?
      

  3.   

    1.似乎idhttp没有recv这个函数?
    2.就算另外判断断线了,idhttp卡在post处,也是另外的代码去强制结束idhttp,可能有程序不稳定的风险
      

  4.   

    我的理解: ReadTimeout跟文件大小没什么关系吧,它只是每次读取的超时时间,不是总的下载的时长限制。