📄 vc中ftp协议实现3.htm
字号:
<TABLE height=7 cellSpacing=0 cellPadding=0 width=760 align=center
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/top_k.gif
border=0><TBODY>
<TR>
<TD width=8 height=7><IMG height=7
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/left_k.gif"
width=8></TD>
<TD width=744 height=7></TD>
<TD width=8 height=7><IMG height=7
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/right_k.gif"
width=8></TD></TR></TBODY></TABLE>
<CENTER>
<TABLE height=7 cellSpacing=0 cellPadding=0 width=760 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width=8
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_left.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_left.gif"
width=8></TD>
<TD align=middle width=744 height=100>
<SCRIPT
src="E:\Learn\Other\VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files\show(1).3]"></SCRIPT>
</TD>
<TD width=8
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_right.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_right.gif"
width=8></TD></TR></TBODY></TABLE>
<TABLE height=7 cellSpacing=0 cellPadding=0 width=760 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width=8
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_left.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_left.gif"
width=8></TD>
<TD style="BORDER-TOP: #000000 1px solid" width=743><SPAN
id=menu>-</SPAN></TD>
<TD width=8
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_right.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_right.gif"
width=8></TD></TR></TBODY></TABLE>
<TABLE height=7 cellSpacing=0 cellPadding=0 width=760 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width=8
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_left.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/k_bg_left.gif"
width=8></TD>
<TD align=middle width=744 height=100>
<TABLE cellSpacing=0 cellPadding=0 width=744 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD
style="BACKGROUND-POSITION: right top; BACKGROUND-ATTACHMENT: fixed"
vAlign=top align=middle width=577>
<TABLE cellSpacing=0 cellPadding=5 width="100%" border=0>
<TBODY>
<TR vAlign=top>
<TD class=article>
<TABLE height=22 cellSpacing=0 cellPadding=2 width=554
border=0>
<TBODY>
<TR>
<TD vAlign=top align=right width=89>您现在的位置:</TD>
<TD vAlign=top width=333><A
href="http://www.pconline.com.cn/pcedu/index.html">软件资讯</A> > <A
href="http://www.pconline.com.cn/pcedu/empolder/index.html">开发特区</A> > <A
href="http://www.pconline.com.cn/pcedu/empolder/gj/index.html">开发语言</A> > <A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/index.html">VC/MFC</A></TD>
<TD width=130><A
href="http://survey.pconline.com.cn/freecode/ent_code.jsp"><IMG
height=15 alt=免费新闻代码 hspace=2
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/freecode.jpg"
width=80 border=0></A><A
href="http://www.pconline.com.cn/autopublish/rss/000000005.xml"><IMG
height=14 alt=RSS新闻聚合 hspace=2
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/rss.gif"
width=36 border=0></A></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=6 width="99%"
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files/point.gif
border=0>
<TBODY>
<TR>
<TD align=middle colSpan=3>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD width="15%"> </TD>
<TD align=middle width="68%"><FONT color=#339900
size=3><B>VC中ftp协议实现多线程断点续传</B></FONT></TD>
<TD vAlign=bottom align=right
width="17%">出处:VCkbase</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD width=145>[ 2005-09-19 10:15:54 ] </TD>
<TD align=middle>作者:吴康彬 </TD>
<TD align=right>责任编辑:moningfeng</TD></TR></TBODY></TABLE>
<DIV align=center>
<SCRIPT
src="E:\Learn\Other\VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]3.files\show(1).2]"></SCRIPT>
<TABLE
style="BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid"
cellSpacing=0 width=414 bgColor=#f7f8f9 border=0>
<TBODY>
<TR>
<TD>
<DIV id=demo
style="OVERFLOW: hidden; WIDTH: 380px; HEIGHT: 20px">
<DIV id=demo1>
<TABLE cellSpacing=0 cellPadding=0 width=380 border=0>
<TBODY>
<TR>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/pingce/0507/655303.html"
target=_blank><FONT
color=#0000ff>影音享乐方式!Divx6完全评测</FONT></A></TD>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/pingce/0507/659415.html"
target=_blank><FONT color=#0000ff>浏览下载一条龙,Opera BT
体验</FONT></A></TD></TR>
<TR>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/softnews/weedcomment/0507/660979.html"
target=_blank><FONT
color=#0000ff>软件观察:别让流氓软件耍无赖!</FONT></A></TD>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/softnews/cs/0507/660903.html"
target=_blank><FONT color=#0000ff>关注!Longhorn
5203多图泄漏</FONT></A></TD></TR>
<TR>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/soft/wl/assist/0507/661263.html"
target=_blank><FONT
color=#0000ff>你会是那个超酷的"播客"吗?</FONT></A></TD>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/soft/gj/sys/0507/658762.html"
target=_blank><FONT
color=#0000ff>我与超级兔子的恋爱史</FONT></A></TD></TR>
<TR>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/tuijian/media/video/0506/651499.html"
target=_blank><FONT color=#0000ff>Divx
Converter精彩试用</FONT></A></TD>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/tuijian/photo/design/0507/657089.html"
target=_blank><FONT
color=#0000ff>图像格式转换的好帮手</FONT></A></TD></TR>
<TR>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/empolder/gj/c/0508/694099.html"
target=_blank>编程盗2005版QQ</A>源码</TD>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/empolder/gj/java/0509/695483.html"
target=_blank>论全世界所有程序员都会犯的错误</A></TD></TR>
<TR>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/sj/pm/photoshop/0507/661469.html"
target=_blank><FONT
color=#0000ff>PS立体光影魔术:在玻璃上打个洞</FONT></A></TD>
<TD height=18>·<A
href="http://www.pconline.com.cn/pcedu/sj/pm/photoshop/0507/660964.html"
target=_blank><FONT
color=#0000ff>Photoshop立体魔术2:光影的奥秘</FONT></A></TD></TR></TBODY></TABLE></DIV>
<DIV id=demo2></DIV></DIV>
<SCRIPT>
var speed=100
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetTop-demo.scrollTop<=0)
demo.scrollTop-=demo1.offsetHeight
else{
demo.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}</SCRIPT>
</TD></TR></TBODY></TABLE></DIV><BR> 各个参数的具体用法举例如下:<BR>
<P></P>
<P class=code>USER sandy \r\n //用户名为sandy登录<BR>PASS sandy \r\n
//密码为sandy<BR>TYPE I \r\n <BR>SIZE sandy.txt \r\n
//如果sandy.txt文件存在,则返回该文件的大小<BR>REST 100 \r\n
//重新指定文件传送的偏移<BR>CWD infor/ \r\n //获取当前的工作目录 <BR>PWD temp/
\r\n //改变当前的工作目录 <BR>RETR \r\n //开始传送文件 <BR>PASV \r\n //进入被动模式
<BR>PORT h1,h2,h3,h4,p1,p2 \r\n
//进入主动模式,h1,h2,h3,h4为ip地址的4个部分。p1,p2是16进制的端口号</P><BR> 下面介绍一下各个函数的使用顺序和一些应注意的地方:<BR><BR> 使用这些命令的前提条件是客户端和服务器端建立了连接。比如ftp服务器地址:192.168.1.81
,端口:21。那么利用Winsock的API函数建立socket连接,然后使用USER,PASS登陆FTP服务器.需要下载文件,要确保文件必须在当前工作目录下,可以使用命令CWD和PWD。查看和更改当前的工作目录。使用SIZE命令获取文件的大小。我们想要多线程下载那么就要求服务器支持该功能。一般我们都会在开头先使用REST命令判断该ftp站点是否支持多线程下载。PORT和PASV两个命令是用来建立数据连接的。他们的主要区别是:PORT需要你指定一个ip地址和端口与服务器建立连接。PASV命令服务器会返回h1,h2,h3,h4,p1,p2样式
的数据供客户端连接。等数据连接建立后,就可以了使用REST,RETR进行多线程和断点续传文件下载了。<BR><BR> 上面讲解了一点ftp下载的基本知识,下面主要介绍的是断点续传的文件保存技巧。<BR><BR> 若要讲断点续传的文件保存方式至少可以说出10种,但是各种方法都有利有弊,下面主要介绍一种我在工作中常常使用的一种文件保存方式:比如要下载一个364544字节的文件,文件名为:namelock.avi。因为要断点续传,所以
在下载的过程中必须得保存文件的大小,已经下载的文件的大小和各个线程的任务。<BR><BR> 有两种方法:<BR><BR> 一、可以产生两个文件:内容文件和配置文件。<BR><BR> 二、只需一个文件:把配置文件的数据加载到内容文件的末尾。<BR><BR> 这两个都不失为好方法。我使用的是前一种,因为我水平有限,(对于临界资源的访问总是不能做到互坼,老出问题。)。这里
的后缀名希望大家要把它放在心上,后缀名是个象征性的东西。就拿我们公司来说,拥有自己的MPEG编码、解码技术,比如原来5m的一首mp3歌曲,通过编码可以
转换成500K左右的.fun文件(funinhand的前三个字)。再利用我们自己的解码播放器边下载边解码边播放,
音质和mp3不相上下。真正实现了手机上的流媒体技术。受到国内外高科技大公司的信赖。(不好意思,这里有点像做广告了。)讲这些的另外一个企图是这样的:<BR><BR> 内容文件所使用的后缀名是我女朋友的英文名(namelock)的前三个字母.nam
。配置文件使用的是我自己的英文名(sandy)的前三个字母.san
。所以说写程序也可以很浪漫,因为这,女朋友又给了我的月生活零用钱增加了几元,哈哈(大家也可以效仿)。言归正传,这两个文件严格意义上来讲是临时文件,当文件下载完毕的时候,namelock.avi.nam内容文件应该改名为:namelock.avi。namelock.avi.san配置文件也应该及时的删除。<BR><BR
clear=all>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -