| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- #pragma once
 
- #include "JHDGlobalDefine.h"
 
- struct ImgInfoRequest {
 
- 	int iZZJNo;
 
- 	DWORD time;
 
- };
 
- struct LastImgInfoRequest {
 
- 	int iZZJNo;
 
- };
 
- struct ImgListRequest {
 
- 	WORD iZZJNo;
 
- 	DWORD time;
 
- 	DWORD endTime;
 
- 	BYTE imgType;
 
- };
 
- struct JEP_LEN_REGION
 
- {
 
- 	DWORD dir : 1;	//方向,0-下行(主站→采集器),1-上行(采集器→主站)
 
- 	DWORD ceid : 10;
 
- 	DWORD cmdid : 5;//恒为0x1B
 
- 	DWORD flag : 4;//FLAG恒为0x0000
 
- 	DWORD dlen : 12;//数据长度,本协议最大为4095
 
- };//共4字节
 
- class PktAssembleBuff {
 
- public:
 
- 	void Init() {
 
- 		iAbandonBytes = 0;
 
- 		iPktLen = 0;
 
- 		m_iStreamLen = 0;
 
- 		m_protocolType = PROTOCOL_UNKNOWN;
 
- 		iPktBuffSize = 0;
 
- 		m_iStreaBuffSize = 0;
 
- 		if (m_tcpStreamData)
 
- 		{
 
- 			delete[] m_tcpStreamData;
 
- 			m_tcpStreamData = NULL;
 
- 			m_iStreaBuffSize = 0;
 
- 		}
 
- 		if (pkt)
 
- 		{
 
- 			delete pkt;
 
- 			pkt = NULL;
 
- 		}
 
- 	}
 
- 	void Resize(BYTE*& pData, int& iLen, int iNewSize);
 
- 	void ResizeStreamBuff(int iNewSize);
 
- 	void ResizePopPktBuff(int iNewSize);
 
- 	//输入tcp流
 
- 	void PushStream(BYTE* pData, int iLen);
 
- 	//输出包
 
- 	//unknow对所有已知协议进行检测
 
- 	//指定协议则只检测指定的协议
 
- 	BOOL PopPkt(APP_LAYER_PROTO_TYPE cpt = PROTOCOL_UNKNOWN);
 
- 	BOOL PopAllAs(APP_LAYER_PROTO_TYPE cpt);//把所有的缓存数据当作一个指定协议取出
 
- 	BYTE* pkt;
 
- 	int iPktBuffSize;
 
- 	int iPktLen;
 
- 	APP_LAYER_PROTO_TYPE m_protocolType;
 
- 	int iAbandonBytes;
 
- 	PktAssembleBuff()
 
- 	{
 
- 		pkt = NULL;
 
- 		m_tcpStreamData = NULL;
 
- 		Init();
 
- 	}
 
- 	BOOL Request315Pkt(BYTE cmd, BYTE* pPkt, int& iLen, void* pInData = NULL);
 
- 	BYTE* m_tcpStreamData = nullptr; //TCP数据
 
- 	int m_iStreaBuffSize = 0;  //TCP数据分配的内存大小
 
- 	int m_iStreamLen = 0;  //当前数据长度
 
- 	//int IsValidPkt_DSP(BYTE* pData, int iLen);
 
- 	int IsValidPkt_315(BYTE* pData, int iLen);
 
- 	//int IsValidPkt_JEP(BYTE* pData, int iLen);
 
- 	//int IsValidPkt_ModbusRTU(BYTE* pData, int iLen);
 
- 	//int IsValidPkt_JDSP(BYTE* pData, int iLen);
 
- 	//int IsValidPkt_WEBSOCKET(BYTE* pData, int iLen);
 
- };
 
 
  |