ServerXmlHttp 研究副产品
2009-04-20 01:47
106 查看
这两天在研究 MS 的 ServerXmlHttp 组件应用,副产品是发现该组件可以轻易实现多点同时下载文件。以前研究过使用 msinet.ocx 来实现多点同时下载及断点续传,测试结果是断点续传没有问题,但多点同时下载无法实现,原因是多个 msinet 对象不能在同一进程内协同工作,一旦一个 msinet 控件的 ReadyState 值变成 4(完成)后,其他控件将停止工作,最后只有一个控件可以继续工作下去,其他都处于停止状态。然而使用 ServerXmlHttp 组件的测试结果却很好,设置好异步工作方式并发出 send 指令开始下载后,几个 ServerXmlHttp 对象可独立正常工作,也就是可以用它来实现多点同时下载,至于断点续传的方法,与使用 msinet 相似,用 SetRequestHeader('Range', 'bytes=xxxx-yyyy') 来分配不同的下载段,并保存到任务列表中即可。
下面是一个未完成的实验品,一旦需要,继续写完错误处理和中途取消功能即可;此外,实验中仅简单的用循环来判断某一任务片是否已完成,未使用该组件提供的 OnReadyStateChange 属性来做成事件驱动方式,因为它涉及到回调函数的问题(解决它虽无困难,但需要多写许多代码,研究这个组件的当务之急不是这个),所以下载效率会差很多(从下图中可以看到,2M 带宽的下载速度应该可以达到 200kb/s 左右,现在只有 170kb/s,用以前使用 msinet 控件写的来测试,由于只有一个下载点,同等条件下,速度只能达到 40kb/s 左右)。一旦需要再来实现这些功能啦,运行效果大致如下:
也是由于现在只使用了循环来检测下载片的完成,所以上面的取消按钮在下载时是不能用的,只能按 Esc 键来中断下载,重新运行后可看到断点续传的效果。
这里是研究时写的实验品(右键另存为并去掉 jpg 后缀):
http://p.blog.csdn.net/images/p_blog_csdn_net/dkfdtf/EntryImages/20090420/sxh.rar.jpg
下面是一个未完成的实验品,一旦需要,继续写完错误处理和中途取消功能即可;此外,实验中仅简单的用循环来判断某一任务片是否已完成,未使用该组件提供的 OnReadyStateChange 属性来做成事件驱动方式,因为它涉及到回调函数的问题(解决它虽无困难,但需要多写许多代码,研究这个组件的当务之急不是这个),所以下载效率会差很多(从下图中可以看到,2M 带宽的下载速度应该可以达到 200kb/s 左右,现在只有 170kb/s,用以前使用 msinet 控件写的来测试,由于只有一个下载点,同等条件下,速度只能达到 40kb/s 左右)。一旦需要再来实现这些功能啦,运行效果大致如下:
也是由于现在只使用了循环来检测下载片的完成,所以上面的取消按钮在下载时是不能用的,只能按 Esc 键来中断下载,重新运行后可看到断点续传的效果。
这里是研究时写的实验品(右键另存为并去掉 jpg 后缀):
http://p.blog.csdn.net/images/p_blog_csdn_net/dkfdtf/EntryImages/20090420/sxh.rar.jpg
相关文章推荐
- ServerXmlHttp和XmlHttp的一些总结
- Tempo研究之在Eclipse中运行Intalio Server
- IIS如何接收ServerXMLHTTP传过来的编码字符?
- ServerXMLHTTP与XMLHTTP
- 为ServerXMLHTTP对象的HTTP请求设置超时时间
- kfs代码研究(二、meta server处理流程)
- LIVE555研究之五:RTPServer(二)
- Reporting Service for SQL server 2000预览研究
- Reporting Service for SQL server 2000预览研究
- IDUdpServer研究心得
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图-JAVA项目跨域问题的解决
- webpack3最新版本配置研究(四) devtool,webpack-dev-server,CommonsChunkPlugin
- WebRTC研究之peerconnection_client与peerconnection_server
- XMLHTTP 和 ServerXMLHTTP 之间的区别是什么
- ZooKeeper动态增加Server(动态增加节点)的研究(待实践)
- Reporting Service for SQL server 2000预览研究
- 关于最近研究XmlHttp的一些心得
- SQLServer.Produce的研究
- 为ServerXMLHTTP对象的HTTP请求设置超时时间
- WifiDog 认证协议研究之 Auth Server