Linux網路程式設計之位元組序的API

2021-10-21 23:19:38 字數 1012 閱讀 2390

常用的主要有四個函式,詳見**:

/*

網路通訊中一般都要將主機位元組學轉換成網路位元組序,

另外一段獲得資料以後根據自己的情況來決定是否轉換

*/#include

#include

intmain()

;int num =*(

int*

)buf;

int sum =

htonl

(num)

;unsigned

char

* p =

(char*)

∑printf

("%d %d %d %d\n"

,*p,

*(p+1)

,*(p+2),

*(p+3)

);printf

("**********====\n");

//ntohl

unsigned

char buf1[4]

=;int num1 =*(

int*

) buf1;

int sum1 =

ntohl

(num1)

;unsigned

char

*p1 =

(unsigned

char*)

&sum1;

printf

("%d %d %d %d\n"

,*p1,

*(p1+1)

,*(p1+2)

,*(p1+3)

);printf

("**********====\n");

//ntohs

unsigned

short c =

ntohs

(b);

printf

("%x\n"

,a);

printf

("%x\n"

,c);

return0;

}

網路程式設計之位元組序

關於位元組序的問題,查了一些資料 1.大小端 2.網路位元組序 3.大小端與網路位元組序 4.socket與位元組序 上述資料裡有相關概念和知識點的說明,以下會對部分問題做幾點總結。這裡以主機位元組序作說明,計算機在儲存多位元組資料時,例如c語言中的整型資料 int 無法用乙個位元組單元的記憶體將資...

TCP IP網路程式設計之位元組序和網路位元組序

一 概要 二 簡介 在此之前我們需要了解清楚幾個概念。cpu架構 人們常說的x86 x64是一種架構,但是他有32位的和64位的。32位的叫x86 後來出現基於它的64位版,就叫x64。作業系統位數 64位的系統是基於64位處理器而來的,所以64位的系統能在64位的處理器上執行,但是不能在32的處理...

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

0 為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為 8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型,另外,對於位數大於 8位的處理器,例如16位或者32位的處理器,由於...