套接字編程準備

字節序函數

內存中儲存16位整數(兩個字節)有兩種方法,一種是將底序字節存儲在起始地址,這稱爲小端字節序,另一種是將高序字節存儲在起始地址,這稱爲大端字節序。如下圖:

網際協議在處理這些多字節整數時,使用大端字節序。主機字節序和網際字節序間的相互轉換函數如下:

其中h代表host,n代表network,s代表short(16位整數),l代表long(32位整數)

字節操縱函數

這裏的字節操縱函數主要有兩組,b打頭的bzero和bcopy等函數和mem打頭的memset等函數,這些函數平時使用較多,這裏不做過多的說明,函數原型如下:

地址轉換函數

人們習慣使用點分十進制數的格式表示IP地址,但有好多時候需要網絡字節序二進制值(此值存於套接口地址結構中),這時就需要用到相應的轉化函數,如下:

上面3個函數只能對Ipv4地址進行轉換,下面兩個較新的函數對IPv4和IPv6的地址都能處理,切通常都會使用這兩個函數,如下:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章