📄 vc中ftp协议实现5.htm
字号:
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]5.files/k_bg_left.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]5.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]5.files\show(1).2]"></SCRIPT>
</TD>
<TD width=8
background=VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]5.files/k_bg_right.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]5.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]5.files/k_bg_left.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]5.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]5.files/k_bg_right.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]5.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]5.files/k_bg_left.gif
bgColor=#ffa200><IMG height=8
src="VC中ftp协议实现多线程断点续传-太平洋电脑网Pconline-[VC-MFC]5.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]5.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]5.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]5.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:59 ] </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]5.files\show(1).1]"></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>
<P></P>
<P
class=code>D:\mm\namelock.avi<BR>364544<BR>5<BR>113868<BR>72908-72908<BR>113868-145816<BR>145816-218724<BR>218724-291632<BR>291632-364544</P><BR> 以上是某一时刻各个线程的任务分配情况。<BR><BR> 各个线程任务分配是这样实现的。在开始下载时,文件平均分成若干块进行下载。如第一个线程一开始的任务是从文件的0位置开始下载一直到72908位置处。线程1每次下载一块数据后就要调整任务,如第一次下载了20800字节的数据,那么线程1的任务将改为:20800-72908。如此下去,直到任务为72908-72908时表示线程1完成了当前的下载任务。此时,线程1就分析各个线程的任务,找出任务最为繁忙的一个线程:如线程3:14816-218724。那么线程1就自动去调整任务,拿50%的任务来再次下载。周而复始直到各个线程都完成任务。不过这里有一点需要注意:为了避免重复下载部分数据,在调整任务的时候,起始的文件便移量必须加上接受缓冲器的字节数,因为如前面所举的列子来看。线程1和线程3在平衡负载的时候,线程正在下载数据,如果所剩的数据比接受缓冲器的大小还小,线程1和线程3的部分下载数据将会重复。<BR><BR> 在调整任务和分析任务的时候,会发现一个问题。就是读取文件数据太过频繁。于是我用了一个数据结构。在下载文件的过程中始终打开配置文件,这样速度提高了很多。在文件下载完毕后关闭文件。数据结构如下:<BR>
<P class=code>typedef struct FromToImpl{<BR>DWORD from;
//任务起始位置<BR>DWORD to; //任务结束位置<BR>}m_fromTo;<BR>typedef struct
InfroImpl{<BR>String fileLoad; //文件保存位置<BR>DWORD fileSize;
//文件大小<BR>int threadCnt; //下载线程数<BR>DWORD alreadyDownloadCnt;
//已经下载的文件大小<BR>FromToImpl *fromToImpl;
//各个线程的任务描述<BR>}m_inforImpl;</P><BR> 具体实现的细节,请查看源程序。<BR><BR> 如果有什么疑问或建议请与我联系,E-mail:<A
href="mailto:wukangbin@funinhand.com">wukangbin@funinhand.com</A>
<BR clear=all>
<DIV class=article align=center><A
href="http://www.pconline.com.cn/pcedu/carton/"
target=_blank><FONT
color=#ff0000>Flash剧场全新改版,精品Flash让你看够玩够!</FONT></A></DIV><BR
clear=all><BR>
<TABLE cellSpacing=0 cellPadding=3 width="96%" align=center
border=0>
<TBODY>
<TR>
<TD class=article align=right><A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/701346_3.html">[上一页]</A>
<A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/701346.html"
target=_self>[1] </A><A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/701346_1.html"
target=_self>[2] </A><A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/701346_2.html"
target=_self>[3] </A><A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/701346_3.html"
target=_self>[4] </A><FONT style="COLOR: #ff0000">[5]
</FONT></TD></TR></TBODY></TABLE><BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -