回 帖 发 新 帖 刷新版面

主题:jzyray来

jzyray,可不可以给我将讲怎么实现多线呈下载,这个问题
我搞了一个星期了,还没解决,
在网上找了些资料,问了些人,但具体的还不知道怎么下手
 拜托了~

回复列表 (共4个回复)

沙发

核心部分可以按照这种思路来写:

Stream s;

void OpenStream(){
    WebClient wc=new WebClient();
    s=wc.OpenRead(....);
}
void CloseStream(){
    s.Close();
}
void ReadFile(long start,long end,out int count,out byte[] result){
    long cur=start;
    result=new byte[end-start+1];
    byte[] buffer=new byte[8];
    int cur_get_count=8;
    int index;
    while(cur<=end && cur_get_count==8){
        cur_get_count=s.Read(buffer,cur,8);
        for(index=0;index<cur_get_count;index++){
            result[cur++]=buffer[index];
        }
        cur+=cur_get_count;
    }
    count=cur-start;
}

当然也可以一口气读一大段,看你的喜好

板凳

你这是说的什么啊~~`

3 楼

可以多线程下载的一种核心实现

4 楼

lj ljkljl lkjlkkjlkjlkdssdasddsfdsffdsf jsalkdj     lkjljklkjlkjdfsdfdsfsdfsdfsdf

我来回复

您尚未登录,请登录后再回复。点此登录或注册