关于 IdHTTPServer的通讯问题(分不够再加,帮定有分,呵呵)

mlcht 2009-01-16 10:57:20
1、服务器端建立起HTTP监听后,头文件返回ResponseNo:=200;的话,IE,迅雷都可以下载服务器文件,但是不能续传,头文件返回ResponseNo:=206,IE不会下载文件,迅雷可以下也可以续传。如何解决?(服务器端如何判断客户端是用迅雷,IE,还是其他软件的呢,或者还有其他办法既让IE可以下载,其他软件也有续传功能)
2、如何将程序封装到DLL中使用?我把控件放在DATA MODULE里会出错。
...全文
164 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzhifei 2009-02-03
  • 打赏
  • 举报
回复
第二个问题:
uses
ActiveX;

在启动DLL时,加一行这个
CoInitialize(nil);
wn520 2009-02-03
  • 打赏
  • 举报
回复
年hou帮顶~~
build8502 2009-01-25
  • 打赏
  • 举报
回复
年前帮顶~~
mlcht 2009-01-21
  • 打赏
  • 举报
回复
年前顶它一天
starluck 2009-01-21
  • 打赏
  • 举报
回复
UP
starluck 2009-01-21
  • 打赏
  • 举报
回复
UP
springcyq 2009-01-21
  • 打赏
  • 举报
回复
听说帮顶有分……
mlcht 2009-01-19
  • 打赏
  • 举报
回复
第二个问题没人指点一下么
僵哥 2009-01-16
  • 打赏
  • 举报
回复
200的响应消息当中增加:
Accept-Ranges=bytes
mlcht 2009-01-16
  • 打赏
  • 举报
回复
空的话我就判断不出是IE还是其他有续传功能的软件要下载了,只能回200,因为回206的话IE就不会下载了。
mlcht 2009-01-16
  • 打赏
  • 举报
回复
测试了几个,像QQ的超级旋风,蚂蚁开始不回206他根本不会发带Range的头,迅雷开始回200,只要给文件长度它就会发Range-
这样网络断开,或者下载暂停QQ的超级旋风根本不会续传,又是从头开始。
僵哥 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mlcht 的回复:]
僵哥来了啊,迅雷请求续传有Range我给回,有些软件请求头没有发现Range,我就判断不了了。
[/Quote]
没有的话读出来就是空的.
mlcht 2009-01-16
  • 打赏
  • 举报
回复
僵哥来了啊,迅雷请求续传有Range我给回,有些软件请求头没有发现Range,我就判断不了了。
僵哥 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 mlcht 的帖子:]
1、服务器端建立起HTTP监听后,头文件返回ResponseNo:=200;的话,IE,迅雷都可以下载服务器文件,但是不能续传,头文件返回ResponseNo:=206,IE不会下载文件,迅雷可以下也可以续传。如何解决?(服务器端如何判断客户端是用迅雷,IE,还是其他软件的呢,或者还有其他办法既让IE可以下载,其他软件也有续传功能)
2、如何将程序封装到DLL中使用?我把控件放在DATA MODULE里会出错。
[/Quote]
根据请求当中是否指定Range来决定返回200还是206
kampan 2009-01-16
  • 打赏
  • 举报
回复
过年帮顶吧!
mlcht 2009-01-16
  • 打赏
  • 举报
回复
加了这个好像还是不成,下周一继续测试

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧