Linux網路程式設計 主機位元組序 與 網路位元組序

2021-10-06 19:03:04 字數 674 閱讀 9469

網域名稱轉換ip位址

首先需要理解大端模式小端模式這兩個點:

這兩種模式代表著資料在記憶體中是如何存放的,我們直到,乙個位元組能夠存放8位,如果是超過8位的資料該怎樣存放呢?

如需要存放資料 0x12345678

不難看出,大端模式也就是高位優先存放,小端模式也就是低位優先存放。

下面學習兩類函式:

htons,ntohs

此類函式主要用於轉換 整型

inet_aton,inet_addr,inet_ntoa.

此類函式主要用於轉換 字串型

1.主機位元組序 ——> 網路位元組序

void

test0()

int

test1()

2.網路位元組序 ——> 主機位元組序

int

test2()

int

test3()

return0;

}

Linux 主機位元組序與網路位元組序

現在的cpu累加器一次能夠裝載至少4個位元組的乙個整數,那麼位元組在記憶體中的排列順序不同,導致累加器使用的結果不同,這就是位元組序問題 例如 我們儲存乙個int型別的數字 int a 1 大端位元組序 整數的高位位元組存放在記憶體的低位址位。小端位元組序 整數的低位位元組存放在記憶體位址的低位址為...

主機位元組序與網路位元組序

主機位元組序 不同的cpu有不同的位元組序型別 這些位元組序是指整數在記憶體中儲存的順序 這個叫做主機序 最常見的有兩種 1 little endian 將低序位元組儲存在起始位址 2 big endian 將高序位元組儲存在起始位址 le little endian 最符合人的思維的位元組序 位址...

網路位元組序與主機位元組序

1 本地位元組序 由 於不同的計算機系統採用不同的位元組序儲存資料,同樣乙個4位元組的32位整數,在記憶體中儲存的方式就不同.位元組序分為小尾位元組序 little endian 和大尾位元組序 big endian intel處理器大多數使用小尾位元組序,motorola處理器大多數使用大尾 bi...