C#HTTP文件传输的实现是如何办到的呢?C#HTTP文件传输主要使用到的类是什么呢?C#HTTP文件传输的具体步骤是什么呢?那么本文就向你详细介绍具体的实现方法和相关的概念。

C# HTTP文件传输是什么呢?其实许多人都有过运用网络蚂蚁或网络快车软件下载互联网文件的阅历,这些软件的运用能够大大加快互联网上文件的传输速度,削减文件传输的时刻。这些软件为什么有如此大的法力呢?其主要原因是这些软件都采用了多线程下载和断点续传技能。假如咱们自己来编写一个相似这样的程序,也能够快速的在互联网上下载文件,那一定是十分愉快的作业。下面我就讲一讲怎么完成C# HTTP文件传输的程序,你会看到运用C#言语编写网络应程序是多么的简略,从中也能体会到C#言语中强壮的网络功用。

C# HTTP文件传输咱们要理解什么是HTTP协议

HTTP亦即Hpyer Text Transfer Protocal的缩写,它是现代互联网上最重要的一种网络协议,超文本传输协议坐落TCP/IP协议的应用层,是一个面向无衔接、简略、快速的C/S结构的协议。HTTP的作业进程大体上分衔接、恳求、呼应和断开衔接四个过程。C#言语对HTTP协议供给了杰出的支撑,在.NET类库中供给了WebRequest和WebResponse类,这两个类都包含在System.Net命名空间中,运用这两个类能够完成许多高档的网络功用,本文中多线程文件下载便是运用这两个类完成的。 WebRequest和WebResponse都是笼统基类,因此在程序中不能直接作为目标运用,有必要被承继,实际运用中,可依据URI参数中的URI前缀选用它们适宜的子类,关于HTTP这类URI,HttpWebRequest和HttpWebResponse类能够用于处理客户程序同WEB服务器之间的HTTP通讯。

C# HTTP文件传输中HttpWebRequest类

它完成了许多经过HTTP拜访WEB服务器上文件的高档功用。HttpWebRequest类对WebRequest中界说的特点和办法供给支撑,HttpWebRequest将发送到Internet资源的公共HTTP标头的值揭露为特点,由办法或体系设置,常用的由特点或办法设置的HTTP标头为:承受, 由Accept特点设置, 衔接, 由Connection特点和KeepAlive特点设置, Content-Length, 由ContentLength特点设置, Content-Type, 由ContentType特点设置, 规模, 由AddRange办法设置. 实际运用中是将标头信息正确设置后,传递到WEB服务器,WEB服务器依据要求作出回应。

C# HTTP文件传输之HttpWebResponse类

它承继自WebResponse类,专门处理从WEB服务器回来的HTTP呼应,这个类完成了许多办法,具有许多特点,能够全面处理接纳到的互联网信息。在HttpWebResponse类中,关于大多数通用的HTTP标头字段,都有独立的特点与其对应,程序员能够经过这些特点便利的拜访坐落HTTP接纳报文标头字段中的信息,本例中用到的HttpWebResponse类特点为:ContentLength 既接纳内容的长度。

有了以上的了解后,下面看看这两个类的用法,要创立HttpWebRequest目标,不要直接运用HttpWebRequest的结构函数,而要运用WebRequest.Create办法初始化一个HttpWebRequest实例,如:

  1. HttpWebRequesthwr=(HttpWebRequest)WebRequest.Create(http://www.163.com/);

创立了这个目标后,就能够经过HttpWebRequest特点,设置许多HTTP标头字段的内容,如hwr.AddRange(100,1000);设置接纳目标的规模为100-1000字节。

HttpWebReques目标运用GetResponse()办法时,会回来一个HttpWebResponse目标,为提出HTTP回来报文信息,需求运用HttpWebResponse的GetResponseStream()办法,该办法回来一个Stream目标,能够读取HTTP回来的报文,如:首要界说一个Strean 目标 public System.IO.Stream ns; 然后 ns=hwr.GetResponse ().GetResponseStream ();即可创立Stream目标。有了以上的预备常识后下面开端规划咱们的多线程互联网文件的下载程序,首要翻开Visual Studio.Net集成开发环境,挑选“文件”、“新建”、“项目”,然后挑选“Visual C#项目”,在导游右边列表框中选中“Windows应用程序”,输入项目名称,如本例为:httpftp,然后挑选“确认”按钮,导游主动生成了一个Windows应用程序项目。首要翻开窗口规划器规划应用程序窗口,添加如下控件:

一个列表框 listBox1 三个文本标签 label1-label3 三个文本框 textBox1-textBox3 一个开端接纳按钮 button1 规划好的窗口如下图:

C#HTTP文件传输的完成浅析  C# HTTP文件传输 第1张

C# HTTP文件传输之控件界说代码是:

  1. publicSystem.Windows.Forms.ListBoxlistBox1;
  2. privateSystem.Windows.Forms.Labellabel1;
  3. privateSystem.Windows.Forms.TextBoxtextBox1
  4. privateSystem.Windows.Forms.Buttonbutton1;
  5. privateSystem.Windows.Forms.Labellabel2;
  6. privateSystem.Windows.Forms.TextBoxtextBox2;
  7. privateSystem.Windows.Forms.Labellabel3;
  8. privateSystem.Windows.Forms.TextBoxtextBox3;
  9. privateSystem.Windows.Forms.Labellabel4;
  10. privateSystem.Windows.Forms.TextBoxtextBox4;

翻开Form1的代码修改器,添加如下的命名空间:

  1. usingSystem.Net;//网络功用
  2. usingSystem.IO;//流支撑
  3. usingSystem.Threading;//线程支撑

添加如下的程序变量:

  1. publicbool[]threadw;//每个线程完毕标志
  2. publicstring[]filenamew;//每个线程接纳文件的文件名
  3. publicint[]filestartw;//每个线程接纳文件的开始方位
  4. publicint[]filesizew;//每个线程接纳文件的巨细
  5. publicstringstrurl;//承受文件的URL
  6. publicboolhb;//文件兼并标志
  7. publicintthread;//进程数

C# HTTP文件传输的完成基本内容就向你介绍到这儿,期望对你了解和学习C# HTTP文件传输有所协助。

【修改引荐】

  1. C#通明窗体代码详解
  2. C#通明窗体及按钮的作用浅析
  3. 浅析C# Dispose办法的完成
  4. 浅析C# Dispose办法形式的树立
  5. C# http剖析常用工具浅析
转载请说明出处
知优网 » C#HTTP文件传输的完成浅析

发表评论

您需要后才能发表评论