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

            那誰的技術博客

            感興趣領域:高性能服務器編程,存儲,算法,Linux內核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數據加載中……

            兩種網絡數據格式的比較

            第一種類型,二進制格式的網絡數據包,通常要首先接收包頭,在包頭中有校驗數據校驗獲取的數據是否正確,同時包頭中還有數據域存放接下來的內容域的大小,得到該大小之后開始接收內容包,然后對內容包進行解析,包頭的大小是固定的,否則無法知道何時接收包頭完畢進行解析.

            第二種類型,XML格式組織的數據包,通常以連續幾個\r\n之類的字符表示結束,在接收包的時候無法知道所要獲取數據包的大小,只有每次判斷時候已經接收到了表示結束的字符.

            兩種傳送數據包優缺點比較:
            1)網絡傳送效率比較:第一種的優點是接收數據包的效率高,首先按照包頭的數據大小接收包頭可以獲知內容包的大小,再按照此大小獲取數據包;而第二種數據包無法在接收的時候獲取該數據包的大小,只能在每次接收的時候判斷時候已經到達包的結尾,因此相比較而言第一種格式的數據包在網絡傳送效率上高一些.同時,由于第一種格式可以在包頭中加入一些校驗字段判斷包是否合法,在數據校驗這一塊也具有優勢.

            2)解析數據包:第一種數據包沒有固定的格式,或者準確的說沒有固定的解析器用于解析這種格式的數據,因為每個人定出的協議都不盡相同;而第二種數據包有完備的解析XML格式數據的第三方庫可用(libxml2,tinyxml,expat等),但是并不見得有了第三方的庫解析起數據起來效率就一定高(這里指的是程序的效率,而不是編碼的效率),因為XML解析比普通的數據解析要復雜的多,效率也就更加慢一些.

            3)可擴展性:第一種數據包的格式不同,可擴展性也不盡相同,具體與每種格式的包有區別.第二種格式的數據包由于采用了XML格式,天正的具備很好的可擴展性.

            4)數據安全性:第一種格式的數據包可以方便的實現數據的加密,而XML格式的數據實現加密不容易,基本上抓包就能看到數據.

            綜上,個人認為XML格式的數據包僅在可擴展性上有較大的優勢,但是對于安全性,性能要求不太高而擴展性要求較大的協議還是建議使用XML格式的協議,畢竟如果協議制定的不好造成擴展性差也是麻煩的事情,因為客戶端一旦放出去就收不回來的.目前jabber的通訊協議就是采用的XML格式的協議.


            posted on 2008-03-26 23:13 那誰 閱讀(5336) 評論(7)  編輯 收藏 引用 所屬分類: 網絡編程服務器設計

            評論

            # re: 兩種網絡數據格式的比較  回復  更多評論   

            樓主總結的很不錯。

            安全性方面,我感覺兩者差別不是很大。

            使用方面,我更多是使用XML格式的,可能和個人的協議設計能力有關吧:)
            2008-04-21 23:59 | perddy

            # re: 兩種網絡數據格式的比較  回復  更多評論   

            XML格式 無論是解析還是打包還是協議定制都比二進制格式復雜多了,如果不可考慮跨平臺和跨語言,用XML格式是自殘
            2008-05-04 13:29 | 過客

            # re: 兩種網絡數據格式的比較  回復  更多評論   

            xml分析慢,傳送量大........
            二進制的效率等各個方面,就要看設計的人的水平了.
            個人認為二進制傳送是最高效.
            2008-05-26 12:58 | liangyj

            # re: 兩種網絡數據格式的比較  回復  更多評論   

            還是習慣用二進制格式的網絡數據包了,畢竟在公司開發的產品不是開源的,所以只要雙方定義好接口(協議)就可以了
            2008-06-07 00:37 |

            # re: 兩種網絡數據格式的比較[未登錄]  回復  更多評論   

            個人認為雖然xml比較方便一些,但是其過多附帶的結構數據以及分析是的效率也是很多密集交互應用不能接受的吧,其實10串的處理到比xml簡單直接很多~~
            2008-09-05 22:00 | happyday

            # re: 兩種網絡數據格式的比較  回復  更多評論   

            使用二進制封裝xml
            2009-07-30 16:58 | ssed

            # re: 兩種網絡數據格式的比較  回復  更多評論   

            xml便于截包分析
            2011-03-22 16:28 | asdfasdf
            一本久久a久久精品vr综合| 18岁日韩内射颜射午夜久久成人| 四虎国产精品免费久久| 2020久久精品亚洲热综合一本| 性色欲网站人妻丰满中文久久不卡| 久久精品国产亚洲77777| 大美女久久久久久j久久| 2021国内久久精品| 婷婷综合久久狠狠色99h| 合区精品久久久中文字幕一区| 午夜天堂精品久久久久| 久久久久国产| 国产精品久久国产精麻豆99网站| 亚洲人成无码网站久久99热国产| 俺来也俺去啦久久综合网| 久久伊人五月丁香狠狠色| 国产成人久久久精品二区三区| 亚洲欧美成人综合久久久| 日本精品久久久久影院日本| 久久精品草草草| 99久久精品国内| 日本五月天婷久久网站| 久久久精品国产Sm最大网站| 国产精品久久久天天影视| 久久综合给合久久狠狠狠97色69| 人人狠狠综合久久亚洲高清| 国产毛片久久久久久国产毛片| 久久w5ww成w人免费| 久久人人爽人人爽人人片AV不| 久久久久久久精品成人热色戒| 性做久久久久久久久老女人| 久久精品成人| 久久国产热这里只有精品| 99久久久久| 麻豆国内精品久久久久久| 久久精品这里只有精99品| 国产—久久香蕉国产线看观看| 精品久久久久久国产免费了| 久久av高潮av无码av喷吹| 久久99精品国产麻豆婷婷| 久久亚洲国产精品123区|