Files
mir_server/sdk/commonLib/include/NetworkDataHandler.h

63 lines
2.5 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00

#ifndef _DATA_NETWORD_DATA_HANDLE_H_
#define _DATA_NETWORD_DATA_HANDLE_H_
#include "CommonDef.h"
#include "Define.h"
//网络数据处理器
class CNetworkDataHandler
{
public:
/*
* ,
* tab,len,headCheckSum,dataCheckSum,data组成的
* param bNeedEncrypt: checksum的校验
*/
CNetworkDataHandler(bool bNeedEncrypt=false);
/*
*
* param pInBuff
* param nInSize
* param pOutBuff
* param nOutSize
* param nInProcessSize 0
* param nOutProcessSize pOutBuff里
* param bWithHeader 8pOutBuff中的数据将是无头的逻辑数据
* param pEncrypt
* ret truefalse
*/
bool DataUnpack(char *pInBuff,SIZE_T nInSize, char *pOutBuff, SIZE_T nOutSize,SIZE_T & nInProcessSize,SIZE_T & nOutProcessSize,bool bWithHeader=false,Encrypt * pEncrypt=NULL);
/*
*
* param pInBuff
* param nInSize
* param pOutBuff
* param nOutSize
* param pEncrypt
* ret pOutBuff的数据长度0
*/
INT_PTR DataPack(char *pInBuff,SIZE_T nInSize, char *pOutBuff, SIZE_T nOutSize,Encrypt * pEncrypt=NULL);
/*
* Comments:
* Param char * pInBuff:
* Param SIZE_T nInSize:
* Param PDATAHEADER pHeader:
* Param Encrypt * pEncrypt:
* @Return void:
*/
static void FillInHeader(char *pInBuff,SIZE_T nInSize,PDATAHEADER pHeader,Encrypt * pEncrypt);
//设置tag的值
void SetTagValue(WORD nValue){m_nTag=nValue;}
void SetNeedEncrypt(bool flag){m_bNeedEncrypt = flag;}
private:
bool m_bNeedEncrypt; //是否需要加密处理如果不需要的话那么将不进行加密和checksum的校验
WORD m_nTag; //Tag的值
};
#endif