網路編程

網路編程

網路編程從大的方面說就是對信息的傳送到接收,中間傳輸為物理線路的作用。

網路編程最主要的工作就是在傳送端把信息通過規定好的協定進行組裝包,在接收端按照規定好的協定把包進行解析,從而提取出對應的信息,達到通信的目的。中間最主要的就是數據包的組裝,數據包的過濾,數據包的捕獲,數據包的分析,當然最後再做一些處理,代碼、開發工具、資料庫、伺服器架設和網頁設計這5部分你都要接觸。

基本介紹

代碼分類,靜態代碼,動態代碼,程式語言,彙編語言,高級語言,語言種類,編程介紹,網路模型,套接字,數據包,參考書籍,

代碼分類

靜態代碼

靜態代碼是伺服器不解析直接傳送給客戶端的部分,用做布局效果,一般不用於資料庫操作
靜態代碼分htmljavascriptcss等,其中html語言是基礎,要學網路編程就先學html語言.javascript用於實現某些特效,css是樣式語言.這3個語言組合起來,可以設計出美妙的網頁效果

動態代碼

動態代碼是伺服器需要解析的部分,用作資料庫連線操作等.有php,jsp,asp這幾種語言你只用先學一種就可.如果是想快速入門,建議先學asp,如果想學了找工作等,建議學php或jsp,
開發工具有很多種,我推薦一種,網路3劍客,其中dw是開發代碼的,fw是做圖的.flash是做動畫的.
資料庫要結合你學的動態語言來選擇,asp系列的,你可以使用access,大型點使用mySQL.
php和mySQL是很好的搭檔.
伺服器架設也是結合你學的動態語言的,windows下安裝iis很方便,iis可以運行asp,安裝.net框架後能運行,這兩者架設相對簡單,也是我推薦你入門學asp的原因.php一般安裝apache伺服器,jsp一般安裝tomcat伺服器.只有架設好伺服器,才能瀏覽動態語言編寫的程式.
雖然是編程,但是總會涉及到網頁設計部分,還是要去學學怎么簡單的作圖和動畫。

程式語言

彙編語言

彙編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
彙編程式通常由三部分組成:指令、偽指令宏指令。彙編程式的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此彙編源程式一般比較冗長、複雜、容易出錯,而且使用彙編語言編程需要有更多的計算機專業知識,但彙編語言的優點也是顯而易見的,用彙編語言所能完成的操作不是一般高級語言所能實現的,而且源程式經彙編生成的執行檔不僅比較小,而且執行速度很快。

高級語言

高級語言主要是相對於彙編語言而言,它並不是特指某一種具體的語言,而是包括了很多程式語言,這些語言的語法、命令格式都各不相同。高級語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程式原始碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的執行檔,應用程式不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程式。
編譯類:編譯是指在套用源程式執行之前,就將程式原始碼“翻譯”成目標代碼(機器語言),因此其目標程式可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程式一旦需要修改,必須先修改原始碼,再重新編譯生成新的目標檔案(* .OBJ)才能執行,只有目標檔案而沒有原始碼,修改很不方便。大多數的程式語言都是編譯型的,例如Visual C++Visual FoxproDelphi等。

語言種類

網路程式語言主要包括PHP、ASP、NET、JSP。
1、PHP
PHP 即Hypertext Preprocessor(超文本預處理器),它是當今Internet上最為火熱的腳本語言,其語法借鑑了C、Java、PERL等語言,但只需要很少的編程知識你就能使用PHP建立一個真正互動的Web站點。它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好地實現頁面控制。PHP提供了標準的資料庫接口,資料庫連線方便,兼容性強;擴展性強;可以進行面向對象編程。
2、ASP
ASP 即Active Server Pages,它是微軟開發的一種類似HTML(超文本標識語言)、Script(腳本)與CGI(公用網關接口)的結合體,它沒有提供自己專門的程式語言,而是允許用戶使用許多已有的腳本語言編寫ASP的應用程式。ASP的程式編制比HTML更方便且更有靈活性。它是在Web伺服器端運行,運行後再將運行結果以HTML格式傳送至客戶端的瀏覽器。ASP程式語言最大的不足就是安全性不夠好。  ASP的最大好處是可以包含HTML標籤,也可以直接存取資料庫及使用無限擴充的ActiveX控制項,因此在程式編制上要比HTML方便而且更富有靈活性。通過使用ASP的組件和對象技術,用戶可以直接使用ActiveX控制項,調用對象方法和屬性,以簡單的方式實現強大的互動功能。  但ASP技術也非完美無缺,由於它基本上是局限於微軟的作業系統平台之上,主要工作環境是微軟的IIS應用程式結構,又因ActiveX對象具有平台特性,所以ASP技術不能很容易地實現在跨平台Web伺服器上工作。
3、JSP
JSP即Java Server Pages,它是由Sun Microsystem公司於1999年6月推出的新技術,是基於Java Servlet以及整個Java體系的Web開發技術。  JSP和ASP在技術方面有許多相似之處,不過兩者來源於不同的技術規範組織,以至 ASP一般只套用於Windows NT/2000平台,而JSP則可以在85%以上的伺服器上運行,而且基於JSP技術的應用程式比基於ASP的應用程式易於維護和管理,所以被許多人認為是未來最有發展前途的動態網站技術。
4、.NET
NET是ASP的升級版,也是由微軟開發,但是和ASP卻有天壤之別。NET的版本有1.1、2.0、3.0、3.5、4.0。是網站動態程式語言里最好用的語言,不過易學難精。NET2.0開始,NET把前台代碼和後台程式分為兩個檔案管理,使得NET表現和邏輯相分離。NET網站開發跟軟體開發差不多。NET的網站是編譯執行的,效率比ASP高很多。NET在功能性、安全性和面向對象方面都做的非常優秀,是非常不錯的網站程式語言。

編程介紹

網路模型

網路模型:描述網路的結構原理和工作原理
Internet網路模型:四層
網路協定:指定層上進行數據交換的規則。
Internet的網路層協定:IP協定;DNS協定(輔助協定)
Internet的傳輸層協定:TCP協定UDP協定

套接字

套接字(Sockets):應用程式和網路協定的接口。
Java Sockets:Java應用程式和網路協定的接口,提供若干個類的定義。
Java應用程式利用這些類繼承網路協定的行為,實現網路通信
TCP Sockets:使用TCP協定實現可靠的網路通信。
UDP Sockets:使用UDP協定實現效率較高的網路通信。

數據包

數據包網路通信編程的一個重要概念,也稱為組裝包,指在套用層數據或報文按照一定事先規定好的規則整合的數據集合,實際操作包括組包(打包),數據包傳送,解包。 組包(打包),指按照協定把零散的數據或報文按照組合起來,實際套用中,比如在C++編程中,往往定義一種新的數據類型用來存儲數據包的結構。數據包傳送,指數據包的電氣物理傳輸。解包,指接收端對接收的數據進行解析,獲得有用信息和數據。
數據包經常通過套接字來傳送.

參考書籍

《Windows網路編程技術》(推薦指數:五星)中文版高清PDF格式 486頁 ,極力推薦,含目錄書籤,是一本內容豐富,講解詳細的Windows網編。
《TCP/IP詳解》共三卷,《TCP/IP詳解卷1:協定》描述了屬於每一層的各個協定以及它們如何在不同作業系統中運行。作者LawrenceBerkeley實驗室的tcpdump程式來捕獲不同作業系統和TCP/IP實現之間傳輸的不同分組。對tcpdump輸出的研究可以幫助理解不同協定如何工作。
《C++網路編程 卷1》 《C++網路編程,卷2》本書將向你描述這些框架的設計,以及它們可怎樣幫助你克服較低級的本地作業系統API與較高級的分散式計算中間的各種局限,高效地開發出高質量、可移植的C++網路化套用。
《Unix網路編程》這本書是一部UNIX網路編程的經典之作。附錄中給出了測量各種IPC形式性能的方法。本書內容詳盡且具權威性,幾乎每章都提供精選的習題,並提供了部分習題的答案,是網路研究和開發人員理想的參考書。

相關詞條

熱門詞條

聯絡我們