程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 初學者對C++語言簡介

初學者對C++語言簡介

編輯:C++入門知識

其主要原因是這些軟件都采用了多線程下載和斷點續傳技術。如果我們自己來編寫一個類似這樣的程序,也能夠快速的在互聯網上下載文件,那一定是非常愉快的事情。下面我就講一講如何利用C++語言編寫一個支持多線程下載文件的程序。

首先介紹一下HTTP協議, HTTP亦即Hpyer Text Transfer Protocal的縮寫,它是現代互聯網上最重要的一種網絡協議,超文本傳輸協議位於TCP/IP協議的應用層,是一個面向無連接、簡單、快速的C/S結構的協議。

HTTP的工作過程大體上分連接、請求、響應和斷開連接四個步驟。C++語言對HTTP協議提供了良好的支持,在類庫中提供了WebRequest和WebResponse類,這兩個類都包含在System.Net命名空間中,利用這兩個類可以實現很多高級的網絡功能。

本文中多線程文件下載就是利用這兩個類實現的。 WebRequest和WebResponse都是抽象基類,因此在程序中不能直接作為對象使用,必須被繼承,實際使用中,可根據URI參數中的URI前綴選用它們合適的子類,對於HTTP這類URI,HttpWebRequest和HttpWebResponse類可以用於處理客戶程序同WEB服務器之間的HTTP通訊。

HttpWebRequest類實現了很多通過HTTP訪問WEB服務器上文件的高級功能。HttpWebRequest類對WebRequest中定義的屬性和方法提供支持,HttpWebRequest將發送到Internet資源的公共 HTTP標頭的值公開為屬性。

  • 豐富多彩的C++Test介紹
  • 如何正確運行C++編譯器
  • 分析介紹C++標准庫使用
  • 輕輕松松進行C++開發
  • 巧妙的進行VC++6.0代碼編制

由方法或系統設置,常用的由屬性或方法設置的HTTP標頭為:接受, 由Accept屬性設置, 連接, 由Connection屬性和KeepAlive屬性設置, Content-Length, 由ContentLength屬性設置, Content-Type, 由ContentType屬性設置, 范圍, 由AddRange方法設置. 實際使用中是將標頭信息正確設置後,傳遞到WEB服務器,WEB服務器根據要求作出回應。

HttpWebResponse類繼承自WebResponse類,專門處理從WEB服務器返回的HTTP響應,這個類實現了很多方法,具有很多屬性,可以全面處理接收到的互聯網信息。在HttpWebResponse類中,對於大多數通用的HTTP標頭字段,都有獨立的屬性與其對應,程序員可以通過這些屬性方便的訪問位於HTTP接收報文標頭字段中的信息,本例中用到的HttpWebResponse類屬性為:ContentLength 既接收內容的長度。

HttpWebReques對象使用GetResponse()方法時,會返回一個HttpWebResponse對象,為提出HTTP返回報文信息,需要使用HttpWebResponse的GetResponseStream()方法,該方法返回一個Stream對象,可以讀取C++語言的報文。

如:首先定義一個Strean 對象 public System.IO.Stream ns; 然後 ns=hwr.GetResponse ().GetResponseStream ();即可創建Stream對象。有了以上的准備知識後下面開始設計我們的多線程互聯網文件的下載程序。

首先打開.Net集成開發環境,選擇“文件”、“新建”、“項目”,然後選擇“Visual C#項目”,在向導右邊列表框中選中“Windows應用程序”,輸入項目名稱,如本例為:httpftp,然後選擇“確定”按鈕,向導自動生成了一個 Windows應用程序項目。首先打開窗口設計器設計應用程序窗口,增加如下控件:

一個列表框 listBox1 三個文本標簽 label1-label3 三個文本框 textBox1-textBox3 一個開始接收按鈕 button1 設計好的窗口如下圖:

設計好的窗口

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved