• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            知道為什么需要htons(), ntohl(), ntohs(),htons() 函數(shù)嗎? (轉(zhuǎn))

            知道為什么需要htons(), ntohl(), ntohs(),htons() 函數(shù)嗎? 
                  在C/C++寫網(wǎng)絡(luò)程序的時候,往往會遇到字節(jié)的網(wǎng)絡(luò)順序和主機(jī)順序的問題。這是就可能用到htons(), ntohl(), ntohs(),htons()這4個函數(shù)。

                  網(wǎng)絡(luò)字節(jié)順序與本地字節(jié)順序之間的轉(zhuǎn)換函數(shù):

            1htonl()--"Host to Network Long"
            2ntohl()--"Network to Host Long"
            3htons()--"Host to Network Short"
            4ntohs()--"Network to Host Short"


                  之所以需要這些函數(shù)是因為計算機(jī)數(shù)據(jù)表示存在兩種字節(jié)順序:NBO與HBO

            網(wǎng)絡(luò)字節(jié)順序NBO(Network Byte Order):
                  按從高到低的順序存儲,在網(wǎng)絡(luò)上使用統(tǒng)一的網(wǎng)絡(luò)字節(jié)順序,可以避免兼容性問題。

            主機(jī)字節(jié)順序(HBO,Host Byte Order):
                  不同的機(jī)器HBO不相同,與CPU設(shè)計有關(guān),數(shù)據(jù)的順序是由cpu決定的,而與操作系統(tǒng)無關(guān)。
             
                  如 Intel   x86結(jié)構(gòu)下,          short型數(shù)0x1234表示為34   12, int型數(shù)0x12345678表示為78   56   34   12  
                  如IBM   power PC結(jié)構(gòu)下, short型數(shù)0x1234表示為12   34, int型數(shù)0x12345678表示為12   34   56   78
              
                  由于這個原因不同體系結(jié)構(gòu)的機(jī)器之間無法通信,所以要轉(zhuǎn)換成一種約定的數(shù)序,也就是網(wǎng)絡(luò)字節(jié)順序,其實就是如同power   pc那樣的順序 。在PC開發(fā)中有ntohl和htonl函數(shù)可以用來進(jìn)行網(wǎng)絡(luò)字節(jié)和主機(jī)字節(jié)的轉(zhuǎn)換。



            PS:轉(zhuǎn)自http://www.cnblogs.com/heaad/archive/2009/07/16/1525112.html

            posted on 2010-08-15 21:06 tiger7 閱讀(1009) 評論(0)  編輯 收藏 引用 所屬分類: C++

            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計

            公告

            welcome to tiger's blog.

            常用鏈接

            留言簿

            文章分類

            文章檔案

            搜索

            最新評論

            久久久久久久久无码精品亚洲日韩 | 久久99精品国产99久久6男男| 国内精品久久人妻互换| 国产日韩久久免费影院| 日本WV一本一道久久香蕉| 久久不见久久见免费视频7| 99久久夜色精品国产网站| 色综合久久夜色精品国产| 久久久久久狠狠丁香| 午夜欧美精品久久久久久久| 91麻精品国产91久久久久 | 久久人妻少妇嫩草AV无码蜜桃 | 久久精品国产欧美日韩| 亚洲国产精品久久久天堂| 久久WWW免费人成—看片| 国产精品久久久久影院色| 久久久久久久久波多野高潮| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 狠狠人妻久久久久久综合| 综合久久精品色| 91精品国产高清久久久久久国产嫩草 | 久久精品人人做人人爽电影蜜月| 99久久国产免费福利| 99久久精品日本一区二区免费| 亚洲国产香蕉人人爽成AV片久久| 久久香蕉综合色一综合色88| 无码人妻精品一区二区三区久久久| 无夜精品久久久久久| 久久久久久A亚洲欧洲AV冫| 99久久国产主播综合精品| 久久99精品久久久久久| 91精品国产91久久久久久蜜臀| 久久国产一区二区| 色综合久久久久网| 91久久精品视频| 污污内射久久一区二区欧美日韩| 久久精品免费网站网| 天堂无码久久综合东京热| 久久99热这里只频精品6| 亚洲AV乱码久久精品蜜桃| www性久久久com|