Linux下網路程式設計 《一 基礎知識》

2021-09-25 05:12:17 字數 930 閱讀 2028

red hat enterprise linux server release 7.0 (maipo)

《linux高效能伺服器程式設計》

現在cpu的累加器一次都能裝載(至少)4位元組(32位機下),即乙個整數。那麼這4位元組在記憶體中排列的順序將影響它被累加器裝載成的整數的值。這就是位元組序問題

位元組序分為,

大端位元組序(big endian): 指乙個整數的高位位元組(23~31bit)儲存在記憶體的低位址處。

小端位元組序(little endian):指乙個整數的高位位元組儲存在記憶體的高位址處。低位位元組則儲存在記憶體的低位址處。

現代pc大多數採用小端位元組序,因此小端位元組序又被稱為主機位元組序

大端位元組序又稱為網路位元組序

所以我們需要在網路傳輸資料的時候進行適當的轉化位元組序以保證資料的正確性。

同樣的我們的ip位址也需要將點分式的位址轉換位適合於網路程式設計的位址。

例如將"192.168.225.129"轉化為 u_int32_t s_addr型別的變數。對應於第2點提出的結構體。

如下圖,給出幾個經常使用的轉化函式。

linux網路程式設計基礎知識

int connect int sockfd,const struct sockaddr servaddr,socklen t addrlen 引數 sock是socket返回的套接字描述符,第二個和第三個引數是伺服器的套接字位址結構的指標和該結構的大小。作用 tcp客戶端通過connect函式建立...

Linux下網路程式設計(一)

一,計算機與網路的發展 計算機與網路發展的7個階段 1.批處理 20世紀50年代 是指實現將使用者個資料裝入卡帶或者磁帶。並有計算機按照一定的順序讀取,是使用者索要執行的這些程式和資料能夠一併批量得到處理的方式。2.分時系統 20世紀60年代 是指多個終端 包含滑鼠 鍵盤 顯示器等輸入輸出裝置組成,...

網路程式設計基礎知識 一

1 iso osi參考模型 iso osi international standard orgnization open system interconnection 模型,簡稱osi模型,該模型定義了網路互聯的七層框架,即iso開發系統互聯模型。當資料通過osi模型的不同層是,傳遞的資料格式有不...