網路編程
網路編程
網路編程從大的方面說就是對信息的發送到接收,中間傳輸為物理線路的作用。
網路編程最主要的工作就是在發送端把信息通過規定好的協議進行組裝包,在接收端按照規定好的協議把包進行解析,從而提取出對應的信息,達到通信的目的。中間最主要的就是數據包的組裝,數據包的過濾,數據包的捕獲,數據包的分析,當然最後再做一些處理,代碼、開發工具、資料庫、伺服器架設和網頁設計這5部分你都要接觸。
靜態代碼是伺服器不解析直接發送給客戶端的部分,用做布局效果,一般不用於資料庫操作
靜態代碼分html,javascript,css等,其中html語言是基礎,要學網路編程就先學html語言.javascript用於實現某些特效,css是樣式語言。這3個語言組合起來,可以設計出美妙的網頁效果
開發工具有很多種,我推薦一種,網路3劍客,其中dw是開發代碼的,fw是做圖的.flash是做動畫的.
資料庫要結合你學的動態語言來選擇,asp系列的,你可以使用access,大型點使用mySQL.
php和mySQL是很好的搭檔.
伺服器架設也是結合你學的動態語言的,windows下安裝iis很方便,iis可以運行asp,安裝.net框架后能運行,這兩者架設相對簡單,也是我推薦你入門學asp的原因.php一般安裝apache伺服器,jsp一般安裝tomcat伺服器。只有架設好伺服器,才能瀏覽動態語言編寫的程序.
雖然是編程,但是總會涉及到網頁設計部分,還是要去學學怎麼簡單的作圖和動畫。
彙編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
彙編程序通常由三部分組成:指令、偽指令和宏指令。彙編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此彙編源程序一般比較冗長、複雜、容易出錯,而且使用彙編語言編程需要有更多的計算機專業知識,但彙編語言的優點也是顯而易見的,用彙編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經彙編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言主要是相對於彙編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,這些語言的語法、命令格式都各不相同。高級語言所編製的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程序源代碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
網路編程語言主要包括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在功能性、安全性和面向對象方面都做的非常優秀,是非常不錯的網站編程語言。
網路模型:描述網路的結構原理和工作原理
OSI參考模型:七層
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形式性能的方法。本書內容詳盡且具權威性,幾乎每章都提供精選的習題,並提供了部分習題的答案,是網路研究和開發人員理想的參考書。