大家看看怎样解决这样的一个问题(有关网络传输)? (100分)

  • 主题发起人 主题发起人 base7
  • 开始时间 开始时间
B

base7

Unregistered / Unconfirmed
GUEST, unregistred user!
网络传输文件(可能很大)
要求:断点续传
数据压缩
数据加密
如果传输中断自动重试

谁能帮忙分析出一个切实可行的实现方案吗?谢谢
 
研究一个ICS控件吧,也许有帮助,我用它做了一个简单的在线升级,效果不错,
还可以做出进度条.

 
能提一点具体的建议吗?
ICS我以前用过的,当时是做一个Telnet客户端:P
可是据我所知ICS是没有加密功能的,D7中的Indy好像有,可是又不知怎么用,没有头绪...
还有呢:压缩? 自动重连?
 
听一下,可以吗?
 
断点续传:<a href="http://uh1.bj.163.com/cgi/readelite?i=1094360">http://uh1.bj.163.com/cgi/readelite?i=1094360</a>
 
http://uh1.bj.163.com/cgi/readelite?i=1094360
 
帮你提前
 
谢谢UnderWyx,其实关于断点续传我已有了自己的思路
不用像你提供的文档描述的那样底层,可以在服务器放置一个支持续传的ftp服务端
然后用REST 100判断后用rest 文件名来做
关键是数据压缩和数据加密,有相关资料吗?
D7中的Indy好像有这方面的控件,可是又没有相应的例子和文档,不知从何下手:(
 
如果你用标准协议如http,ftp那么用tidhttp,tidftp
如果是自己写c/s的程序,那么用tidTCPserver tidtcpclient

断点续传 如果用http那么indy直接支持,如果自己用tcp写那么你就实现这样的命令
即可如 GET filename 起始偏移,结束偏移,服务器收到后把 起始偏移,结束偏移中的
文件内容发给你就行了;
数据压缩 用zlib等压缩
数据加密 用des或自己写算法
如果传输中断自动重试 这一点容易
http://codehunter.126.com
 
我认为做到都不难,就是麻烦,要写的代码都很多,
 
断点续传(Internet例子很多)
数据压缩(Zlib)
数据加密(为什么要加密,加密也影响速度呀!)
如果传输中断自动重试(这个最容易)
 
自己直接控制数据的传输。
记录传输数据情况记录,
首先发送一个关于要传输数据的详细信息记录在客户端,
根据记录传输数据的记录,在中断后,实现断点续传。
至于压缩和加密,不会有问题吧,好用的空间很多的 比如:
VCLZip Native Delphi Zip/UnZip Component! (Version 2.22 July 21st, 2001)
IMPORTANT: Please be sure to always re-install/rebuild the components (VCLZip and VCLUnZip) to the component pallette (or rebuild the design time package) so that the ThisVersion property and any other new properties will be properly updated.
Also, please check out the web site http://vclzip.bizland.com/beta.htm for any additional or newer files.
 
举个简单的例子呀
 
ICS是什么东西?
 
完全自己做工作量和难度都比较大,但网上Delphi的资源和控件都很多,可以参考。
另外...这个问题怎么总在最上面???
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部