linux網路程式設計學習之一網路位元組序

2021-07-03 01:31:59 字數 961 閱讀 8640

在不同的平台,不同的系統中,往往位元組序不同,有的採用大端順序,有的採用小端順序。在網路程式設計中為了統一,統統採用網路位元組序。網路位元組序是大端順序。

網路位元組序有關的轉換函式主要有

unsigned short int htons(unsigned short int hostshort):將主機位元組序轉換成網路位元組序,針對無符號short型別進行操作;

unsigned long int htonl(unsigned long int hostlong):將主機位元組序轉換成網路位元組序,針對無符號長整形進行操作;

unsigned short int ntohs(unsigned short int netshort):將網路位元組序轉換成主機位元組序,針對無符號short型別進行操作;

unsigned long int ntohl(unsigned long int netlong):將網路位元組序轉換成主機位元組序,針對無符號長整形進行操作。

對網路位元組的操縱函式主要有:

void bzero(void *s, int n):將記憶體清零,同memset函式;

void bcopy(const void *src, void *dest, int n):複製資料,類似於memcpy函式,不同的是,memcpy如果dest和src弄翻會出錯,而bcopy不會出錯;

int bcmp(const void *s1, const void *s2, int n):同memcmp函式,比較s1和s2的大小,s1>s2返回正值,s1=s2返回0,否則返回負值。

字串和網路位元組序二進位制轉換函式:

int inet_pton(int family, const char *src, void *dst):將點分十進位制轉換成網路位元組序的二進位制;

const char *inet_ntop(int family, const void *src, char *dst, socklen_t cnt):將網路位元組序二進位制轉換成點分十進位制。

網路程式設計(一) 網路基礎之一

今天開始學習網路程式設計,當然還是要從網路基礎學起,首先我們來熟悉一下tcp ip模型與osi模型之間的對應關係 一.tcp ip四層模型 tcp ip是 一組協議的代名詞,它還包括許多協議,組成了tcp ip協議簇。tcp ip協議簇 分為四層,ip位於協議簇的第 二層 對應osi的第三層 tcp...

基本網路概念之一 網路

網路是幾乎可以實時相互傳送和接收資料的計算機和其他裝置的集合。網路的每台機器稱為乙個節點 node 大多數節點是計算機,但是印表機 路由器 網橋 閘道器 可口可樂機也都是節點。具有完備功能的計算機節點也稱為主機 host 這裡將節點一詞指代網路的所有裝置,用主機一詞表示通用的計算機節點。每個網路節點...

網路程式設計(一)網路程式設計入門

網路是計算機通訊的基礎,網路程式設計是學習計算機網路最佳方法,通常標準的計算機網路通訊協議有udp和tcp兩種 此處不包含微計算機網路通訊協議 如can等 首先小猿引入幾個面試常見的問題。1 網路程式設計三要素是什麼?答 網路程式設計的三要素是,ip,傳輸協議,埠號。2 網路模型有幾種?如何理解?答...