• <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.

            常用鏈接

            留言簿

            文章分類

            文章檔案

            搜索

            最新評論

            国产成年无码久久久久毛片| 久久亚洲日韩精品一区二区三区| 精品久久久久中文字幕一区| 久久亚洲色一区二区三区| 性做久久久久久久久久久| 中文字幕无码久久精品青草| 国产精品久久毛片完整版| 色综合久久天天综线观看| 精品久久久久久国产潘金莲| 一本久久综合亚洲鲁鲁五月天| 精品国产VA久久久久久久冰| 久久婷婷人人澡人人| 成人国内精品久久久久影院| 久久久久久久免费视频| 久久久久久久99精品免费观看| 怡红院日本一道日本久久 | 国产成人精品久久亚洲高清不卡| 伊人色综合九久久天天蜜桃| 国产成人久久精品麻豆一区| 久久久国产精品亚洲一区| 中文字幕久久亚洲一区| 久久久久99精品成人片三人毛片| MM131亚洲国产美女久久| 久久久久久精品免费看SSS| 久久久久九国产精品| 国产免费久久精品99久久| 91麻豆精品国产91久久久久久| 久久精品99久久香蕉国产色戒| 伊人久久久AV老熟妇色| 伊人热热久久原色播放www| 久久免费大片| 久久婷婷五月综合色99啪ak| 久久午夜无码鲁丝片午夜精品| 国产精久久一区二区三区| 99久久精品免费国产大片| 日本精品久久久中文字幕| 久久精品成人免费网站| 人人狠狠综合久久亚洲88| 国产成人久久久精品二区三区| 精品久久久无码中文字幕天天| 久久精品成人免费国产片小草|