1、服务器端建立起HTTP监听后,头文件返回ResponseNo:=200;的话,IE,迅雷都可以下载服务器文件,但是不能续传,头文件返回ResponseNo:=206,IE不会下载文件,迅雷可以下也可以续传。如何解决?(服务器端如何判断客户端是用迅雷,IE,还是其他软件的呢,或者还有其他办法既让IE可以下载,其他软件也有续传功能)
2、如何将程序封装到DLL中使用?我把控件放在DATA MODULE里会出错。

解决方案 »

  1.   

    根据请求当中是否指定Range来决定返回200还是206
      

  2.   

    僵哥来了啊,迅雷请求续传有Range我给回,有些软件请求头没有发现Range,我就判断不了了。
      

  3.   

    测试了几个,像QQ的超级旋风,蚂蚁开始不回206他根本不会发带Range的头,迅雷开始回200,只要给文件长度它就会发Range-
    这样网络断开,或者下载暂停QQ的超级旋风根本不会续传,又是从头开始。
      

  4.   

    空的话我就判断不出是IE还是其他有续传功能的软件要下载了,只能回200,因为回206的话IE就不会下载了。
      

  5.   

    200的响应消息当中增加:
    Accept-Ranges=bytes 
      

  6.   

    第二个问题:
    uses
      ActiveX;在启动DLL时,加一行这个
        CoInitialize(nil);