1. 程式人生 > >Linux網絡編程:什麽是Linux下的網絡編程?

Linux網絡編程:什麽是Linux下的網絡編程?

雲計算

想知道Linux下的網絡編程培訓×××?先來了解一下什麽是Linux下的網絡編程吧!Linux下的網絡編程指的是socket套接字編程,入門比較簡單。在學校裏學過一些皮毛,平時就是自學玩,沒有見識過真正的socket編程大程序,比較遺憾。總感覺每次看的時候都有收獲,但是每次看完了之後,過段時間不看,重新拾起這些知識的時候又要從頭開始,所以,在這裏做個筆記也算是做個模板,以後可以直接從某一個階段開始接著玩……

socket套接字介紹

socket機制其實就是包括socket, bind, listen, connect, accept等函數的方法,其通過指定的函數實現不同的協議(IP4,IP6等)的數據在不同層之間的傳輸和獲取等處理。其實個人理解socket就是處於應用層和TCP/IP協議之間的一個中間層,具體的數據分析,重組,拆分等操作對於應用層的網絡編程者來說都是不可見的,這些都有協議棧內核實現,應用層的網絡編程會通過設置socket機制中創建socket時參數不同,而接收或者發送不同類型的數據。

對於TCP/IP在這裏就不過多的講,但是需要提及的是經典的TCP/IP參考模型是分為4個層次:應用層,傳輸層,網絡互聯層,主機到網絡層。標準的套接字編程主要是指TCP和UDP的網絡編程,socket網絡編程的模式就是分server和client,通過server端首先建立,client端聯接進行通信。網絡協議棧內核實現的功能主要就是在數據到達每一層時,給數據加上或者去掉協議包頭,或者進行校驗,數據重組,拆分等操作,最後得到我們想要的數據格式。

標準套接字分為TCP和UDP協議兩種不同type的工作流程,TCP網絡編程相對於UDP來說相對復雜,因為TCP是面向連接的服務,其中包括三次握手建立連接的過程,而UDP則是無連接的服務,下圖介紹了TCP服務使用socket套接字建立連接的過程,以及進行數據交互的過程。

TCP和UDP的網絡編程模式有兩種,一種是服務器模式,另一種是客戶端模式,因為TCP是面向連接的服務,所以在socket機制當中,TCP的服務器模式比UDP的服務器模式多了listen,accept函數,TCP客戶端比UDP客戶端多了connect函數。

Linux網絡編程:什麽是Linux下的網絡編程?