zoukankan      html  css  js  c++  java
  • Windows Mobile上实现断点续传。

    最近看到有人在网上讲论WM上的下载工具,就提供个断点传的思路,供大家交流。

    断点续传就是在上一次下载 时断开的位置开始继续下载。在HTTP协议中,可以在请求报文头中加入Range段,来表示客户机希望从何处继续下载。

    代码如下,在WM6环境下测试通过。

    static void Main(string[] args)
      {

             string StrFileName="c://aa.zip"; //根据实际情况设置
          string StrUrl="http://www.xxxx.cn/xxxxx.zip"; //根据实际情况设置

         //打开上次下载的文件或新建文件
         long lStartPos =0;
            System.IO.FileStream fs;
            if (System.IO.File.Exists(StrFileName))
            {
                  fs= System.IO.File.OpenWrite(StrFileName);
                  lStartPos=fs.Length;
                  fs.Seek(lStartPos,System.IO.SeekOrigin.Current); //移动文件流中的当前指针
          }
            else
            {
                  fs = new System.IO.FileStream(StrFileName,System.IO.FileMode.Create);
                  lStartPos =0;
           }

            //打开网络连接
         try
           {
                  System.Net.HttpWebRequest request =(System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(StrUrl);
                  if ( lStartPos>0)
                  request.AddRange((int)lStartPos); //设置Range值

             //向服务器请求,获得服务器回应数据流
             System.IO.Stream ns= request.GetResponse().GetResponseStream();

                 byte[] nbytes = new byte[512];
                 int nReadSize=0;
                 nReadSize=ns.Read(nbytes,0,512);
                 while( nReadSize >0)
                {
                      fs.Write(nbytes,0,nReadSize);
                      nReadSize=ns.Read(nbytes,0,512);
                }
                fs.Close();
                ns.Close();
                Console.WriteLine("下载完成");
           }
           catch(Exception ex)
          {
                 fs.Close();
                 Console.WriteLine("下载过程中出现错误:"+ex.ToString());
          }
      }

  • 相关阅读:
    洛谷 P1525 关押罪犯(并查集|二分图判定&二分答案)
    洛谷 P1948 [USACO08JAN]Telephone Lines S(贪心+最短路)
    洛谷 P1315 观光公交(贪心+模拟)
    洛谷 P3258 [JLOI2014]松鼠的新家(树上差分)
    【NOIP2001】统计单词个数
    【洛谷习题】皇后游戏
    【洛谷习题】木棍加工
    【SDOI2008】仪仗队
    【洛谷习题】末日的传说
    【洛谷习题】又是毕业季I
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2458393.html
Copyright © 2011-2022 走看看