• <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>
            隨筆 - 1  文章 - 0  trackbacks - 0
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評論

            期待下文。
            關于“二進制包使用結構直接解包”這部分有些疑義,
            首先這里代碼沒有考慮字節序問題,對于little endian的x86機器,定義位段應當反過來,另外seq還需要ntohs轉字節序。
            其次結構體默認并非緊湊對齊的,若需正常還要設定對齊方式為1字節,避免縫隙,而這樣會影響性能。
            #pragma pack(push, 1)
            struct Packet{
            #if BIGENDIAN
            unsigned char v:2;
            unsigned char p:1;
            unsigned char x:1;
            unsigned char cc:4;
            #else
            unsigned char cc:4;
            unsigned char x:1;
            unsigned char p:1;
            unsigned char v:2;
            #endif
            unsigned short seq;
            };
            #pragma pack(pop)

            我也是做流媒體和多媒體相關工作的,工作中也會遇到很多協議打包,解包工作,其實大部分協議都類似,不過分文本協議和二進制協議兩大類,手工寫這些代碼很煩,經常想是不是能搞一個自動編譯的工具生成解析和打包代碼,性能上作為流服務器可能要關注,對于終端來講,解碼才是大頭,協議這一塊倒不用太考慮。希望能有機會多交流。
            slickedit不錯,簡單試用了下,可以自動生成makefile,也可以單步調試。
            久久人人爽爽爽人久久久| 久久精品国产精品亚洲| 日韩精品久久久肉伦网站| 久久亚洲精品国产精品| 久久综合九色综合精品| 久久性精品| 99久久国产热无码精品免费| 99久久精品久久久久久清纯 | 国产aⅴ激情无码久久| 久久久久久亚洲精品成人| 国产精品九九久久免费视频| 精品久久亚洲中文无码| 色综合久久久久网| 日韩精品久久久久久免费| 很黄很污的网站久久mimi色| 人妻无码久久一区二区三区免费 | 久久久久久亚洲精品影院| 国产精品久久久久久影院| 欧美国产成人久久精品| 久久精品国产72国产精福利| 成人久久精品一区二区三区 | 久久青青草原国产精品免费| 国产一区二区久久久| 精品久久久久中文字| 国产午夜精品理论片久久影视| 久久狠狠爱亚洲综合影院 | 亚洲AV无码久久寂寞少妇| 久久免费视频一区| 国产精品美女久久久免费| 久久最近最新中文字幕大全| 久久99国产综合精品女同| 一本一道久久综合狠狠老| 亚洲精品成人久久久| 一本综合久久国产二区| 欧美久久久久久精选9999| 久久99精品国产麻豆不卡| 亚洲国产精品热久久| 97久久精品人人澡人人爽| 国产高清美女一级a毛片久久w | 色婷婷久久综合中文久久蜜桃av| 久久人人添人人爽添人人片牛牛|