青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁 新隨筆 聯系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
應為協議都是遵循:len type data這樣的結構,所以打包發送和接收解包可以有通用的做法,,,
 
//////////////////////////////////////////////////////////////////////////

//數據描述頭
struct tagDataDescribe
{
    WORD                            wDataSize;                        
//數據大小
    WORD                            wDataDescribe;                    //數據描述
};

//////////////////////////////////////////////////////////////////////////

//數據包輔助類(多包組合成一包)
class CSendPacketHelper
{
    
//變量定義
protected:
    WORD                                m_wDataSize;                    
//數據大小
    WORD                                m_wBufferSize;                    //緩沖大小
    BYTE                                * m_pcbBuffer;                    //緩沖指針

    
//函數定義
public:
    
//構造函數
    CSendPacketHelper(void * pcbBuffer, WORD wBufferSize)
    {
        m_wDataSize
=0;
        m_wBufferSize
=wBufferSize;
        m_pcbBuffer
=(BYTE *)pcbBuffer;
    }
    
//析構函數
    virtual ~CSendPacketHelper() {}

    
//功能函數
public:
    
//清理數據
    void CleanData() { m_wDataSize=0; }
    
//獲取大小
    WORD GetDataSize() { return m_wDataSize; }
    
//獲取緩沖
    void * GetDataBuffer() { return m_pcbBuffer; }
    
//插入數據(如果緩沖區長度不夠返回false)
    
// wDataSize, wDataType 實際上就是DataDescribe
    bool AddPacket(void * pData, WORD wDataSize, WORD wDataType)
    {
        
//效驗大小
        ASSERT((wDataSize+sizeof(tagDataDescribe)+m_wDataSize)<=m_wBufferSize);
        
if ((wDataSize+sizeof(tagDataDescribe)+m_wDataSize)>m_wBufferSize) return false;

        
//插入數據
        ASSERT(m_pcbBuffer!=NULL);
        tagDataDescribe 
* pDataDescribe=(tagDataDescribe *)(m_pcbBuffer+m_wDataSize);
        pDataDescribe
->wDataSize=wDataSize;
        pDataDescribe
->wDataDescribe=wDataType;

        
//插入數據
        if (wDataSize>0)
        {
            ASSERT(pData
!=NULL);
            CopyMemory(pDataDescribe
+1,pData,wDataSize);
        }

        
//設置數據
        m_wDataSize+=sizeof(tagDataDescribe)+wDataSize;
    
        
return true;
    }
};

/////////////////////////////////////////////////////////////////////////////////////////

//數據包輔助類
class CRecvPacketHelper
{
    
//變量定義
protected:
    WORD                                m_wDataPos;                        
//數據點
    WORD                                m_wDataSize;                    //數據大小
    BYTE                                * m_pcbBuffer;                    //緩沖指針

    
//函數定義
public:
    
//構造函數
    CRecvPacketHelper(LPCVOID pcbBuffer, WORD wDataSize)
    {
        m_wDataPos
=0;
        m_wDataSize
=wDataSize;
        m_pcbBuffer
=(BYTE *)pcbBuffer;
    }
    
//析構函數
    virtual ~CRecvPacketHelper() {}

    
//功能函數
public:
    
//獲取數據(返回一包數據)
    
// @DataDescribe:數據描述(len type)
    
// @return: 數據
    void * GetData(tagDataDescribe & DataDescribe)
    {
        
//效驗數據
        if (m_wDataPos>=m_wDataSize) 
        {
            ASSERT(m_wDataPos
==m_wDataSize);
            DataDescribe.wDataSize
=0;
            DataDescribe.wDataDescribe
=DTP_NULL;
            
return NULL;
        }

        
//獲取數據
        ASSERT((m_wDataPos+sizeof(tagDataDescribe))<=m_wDataSize);
        CopyMemory(
&DataDescribe,m_pcbBuffer+m_wDataPos,sizeof(tagDataDescribe));
        ASSERT((m_wDataPos
+sizeof(tagDataDescribe)+DataDescribe.wDataSize)<=m_wDataSize);

        
//效驗數據
        if ((m_wDataPos+sizeof(tagDataDescribe)+DataDescribe.wDataSize)>m_wDataSize)
        {
            DataDescribe.wDataSize
=0;
            DataDescribe.wDataDescribe
=DTP_NULL;
            
return NULL;
        }

        
//設置數據
        void * pData=NULL;
        
if (DataDescribe.wDataSize>0) pData=m_pcbBuffer+m_wDataPos+sizeof(tagDataDescribe);
        m_wDataPos
+=sizeof(tagDataDescribe)+DataDescribe.wDataSize;
        
return pData;
    };
};
posted on 2011-07-04 10:50 Enic 閱讀(1505) 評論(0)  編輯 收藏 引用 所屬分類: 網狐棋牌源碼分析
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            91久久精品国产91久久| 最新日韩中文字幕| 性欧美精品高清| 国产精品呻吟| 欧美在线播放| 久久激情一区| 亚洲精品一级| 日韩午夜电影av| 国产精品色婷婷久久58| 久久精品国产久精国产一老狼| 性做久久久久久久免费看| 黄色精品一区二区| 欧美国产日韩视频| 欧美精品尤物在线| 亚洲在线观看视频网站| 欧美一区视频在线| 亚洲激情视频网| 9色porny自拍视频一区二区| 国产一区欧美日韩| 亚洲黄色在线看| 国产伦精品一区二区三区免费| 久久综合伊人| 欧美日韩国产综合视频在线观看| 午夜精品久久久久久久久久久久久| 久久精品日韩欧美| 亚洲最快最全在线视频| 亚洲欧美日本视频在线观看| 在线不卡中文字幕| 亚洲视频一区在线| 亚洲激情国产精品| 亚洲免费影院| 一本一本久久| 久久久噜噜噜久久| 亚洲欧美日韩直播| 欧美另类人妖| 米奇777在线欧美播放| 欧美视频在线观看免费| 美女国产一区| 国产日本欧美一区二区| 亚洲免费久久| 永久久久久久| 欧美一级午夜免费电影| 亚洲亚洲精品三区日韩精品在线视频| 久久国产精品72免费观看| 亚洲一区综合| 欧美日韩的一区二区| 欧美福利网址| 精品999成人| 久久大香伊蕉在人线观看热2| 欧美日韩国产电影| 国产精品高清免费在线观看| 欧美一区二区视频97| 国产精品亚洲第一区在线暖暖韩国 | 欧美黑人一区二区三区| 欧美成人福利视频| 久久精品国产v日韩v亚洲 | 久久激情视频久久| 欧美一区深夜视频| 一本色道久久精品| 亚洲国产欧美一区二区三区久久 | 久久久精品国产一区二区三区| 欧美日韩国产123| 亚洲娇小video精品| 黄色在线一区| 久久久欧美精品| 久久久激情视频| 国产一区二区视频在线观看| 小嫩嫩精品导航| 久久精品在这里| 国产又爽又黄的激情精品视频| 亚洲欧美资源在线| 久久riav二区三区| 国内综合精品午夜久久资源| 欧美制服丝袜第一页| 久久影院午夜片一区| 一区二区三区自拍| 老牛嫩草一区二区三区日本| 亚洲国产精品精华液2区45| 亚洲人人精品| 欧美日韩一区二区三区视频| 国产精品99久久不卡二区| 午夜视频在线观看一区二区| 国产毛片精品国产一区二区三区| 欧美一区二区三区免费观看视频 | 亚洲色在线视频| 国产精品福利av| 欧美一区二区成人| 欧美大尺度在线| 中文在线一区| 国产欧美日韩三级| 美女主播视频一区| 在线一区二区三区四区| 久久激五月天综合精品| 亚洲第一在线综合在线| 欧美日韩123| 性亚洲最疯狂xxxx高清| 亚洲第一成人在线| 西西人体一区二区| 亚洲国产高潮在线观看| 欧美午夜不卡| 久久久欧美一区二区| 日韩天堂av| 久久免费国产精品| 亚洲图片在区色| 一区二区在线不卡| 国产精品成人aaaaa网站| 久久国产主播| 99re视频这里只有精品| 久久野战av| 亚洲欧美www| 亚洲高清在线精品| 国产精品任我爽爆在线播放| 久久久久久9| 亚洲一区久久| 亚洲欧洲一区二区天堂久久| 久久乐国产精品| 亚洲中无吗在线| 亚洲精品久久久久久久久久久| 国产精品一卡二卡| 欧美日韩一区在线观看视频| 久久午夜视频| 午夜久久电影网| 在线亚洲欧美| 亚洲第一在线综合在线| 久久久久久久一区二区| 亚洲欧美在线aaa| 日韩亚洲国产欧美| 亚洲人www| 亚洲第一搞黄网站| 黑人一区二区| 国产一区二区激情| 国产欧美一区二区视频| 国产精品久久午夜夜伦鲁鲁| 欧美精品一区二区在线播放| 免费国产一区二区| 久久人人精品| 久久夜色精品国产噜噜av| 欧美在线看片| 欧美一区二区三区在线视频| 午夜在线视频观看日韩17c| 午夜久久久久| 亚洲欧美成aⅴ人在线观看| 亚洲综合视频在线| 亚洲一区二区三区四区在线观看| 亚洲理论在线观看| 日韩午夜激情| 一区二区三区视频在线播放| 99在线|亚洲一区二区| 99精品国产99久久久久久福利| 亚洲免费电影在线观看| 日韩一区二区久久| 中文国产成人精品| 午夜精品一区二区三区电影天堂| 一区二区三区回区在观看免费视频| 亚洲精品专区| 中文精品一区二区三区| 亚洲一区中文字幕在线观看| 亚洲欧美日韩综合| 久久国产精品第一页| 久久婷婷人人澡人人喊人人爽| 久久免费视频在线| 欧美精品免费在线观看| 国产精品成人在线观看| 国产精品一区二区三区观看| 国产一区二区日韩精品| 亚洲国产精品va| 中文在线不卡视频| 久久国产成人| 亚洲国产精品传媒在线观看 | 欧美一区二区三区免费大片| 久久久久久久999精品视频| 欧美国产先锋| 国产伦精品一区二区三区视频黑人 | 亚洲二区三区四区| 一区二区三区成人精品| 欧美在线一级视频| 欧美激情国产日韩| 一本色道久久综合精品竹菊| 欧美在线啊v| 欧美日韩a区| 激情伊人五月天久久综合| 99热精品在线| 久久久天天操| 99热在这里有精品免费| 久久久久久亚洲精品不卡4k岛国| 欧美另类videos死尸| 国产一区视频网站| 亚洲午夜性刺激影院| 欧美成人免费视频| 亚洲午夜视频在线| 欧美黑人国产人伦爽爽爽| 国产午夜精品全部视频播放| 亚洲精选在线观看| 久久亚洲国产成人| 亚洲午夜小视频| 女人色偷偷aa久久天堂| 国产亚洲毛片在线| 亚洲欧美精品suv| 亚洲久久在线| 免费观看日韩|