| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | #pragma once#include <ProtocolHandler.h>#include <ODBC/DBConnectPool.h>#include <string>#include <vector>#include <deque>#include <map>#include "AlarmDefine.h"#include "LNContext.h"#include <jsonxx.h>#include "MonitorObject.h"#define ROW_ARRAY_SIZE 50#define MAX_HANDLE_THREAD_NUM 5class CTask{public:	CTask(LPBYTE, int, SOCKADDR*, void*);	void join();private:	~CTask();public:	LPBYTE pdata;	int nlen;	SOCKADDR addr;};typedef struct tagResistance{	char imei[50];	//TIMESTAMP_STRUCT time;	char  time[24];    uint8_t index;	int data0;	int data1;	int data2;}RESISTANCE, *LPRESISTANCE;class CLNHandle    :public CProtocolHandler{public:    CLNHandle();    virtual ~CLNHandle();    virtual BOOL HandlePack(LPBYTE pPack, int nPackLen, SOCKADDR* psa, void* pClientContext = NULL) override;	void SendAllClientSync();	//랙箇茄珂땐敦관	void SendSubNotify(string momp);protected:	//쀼릿횅훰관	BOOL HandleRecvPack(CLNContext* pContext, E_ZL_PROTOCAL protocal, uint32_t packno);	void HandleMoSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	void HandleMpSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleSvgSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleReferSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleResistData(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleTempHumiData(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleAlarmSetSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleMove(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);	BOOL HandleAlarmData(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);protected:	void CompareMoSync(jsonxx::Object obj, CMonitorObject *pObject);	void CompareMpSync(jsonxx::Object obj);private:	std::thread* pThread[MAX_HANDLE_THREAD_NUM];	bool m_bWork;	std::mutex m_mtx;	std::map<ULONG, SOCKADDR_IN> m_mapUser;	uint8_t *m_dl_sync = nullptr;	int  m_dl_len = 0;};
 |