📄 monitorsvr.h
字号:
#ifndef MONITORSVR_H#define MONITORSVR_H#include "msystem.h"#include "tinycxx/etc.h"#include "tinycxx/exception.h"#include "tinycxx/socket.h"#include "tinycxx/socksvr.h"/** *@author *////长度:2/IsAsk:1/命令:1/本地地址:1/目标地址:1/内容:x///地址{(0:忽略本地地址;无返回),(0xff:忽略目标地址;无返回),/// (1:主地址), (2:备地址)}///命令{YK,SR,GF,SF,INIT}/*class CDFrame{public: BYTE m_byCID; BYTE* m_pbyData; WORD m_wDataSize; BYTE m_bySAddr; BYTE m_byDAddr; BOOL m_bIsAsk;//IsAnspublic: CDFrame() { m_pbyData = NULL; m_wDataSize = 0; } ~CDFrame() { if (m_pbyData && m_wDataSize) { delete m_pbyData; } } void SetupFrame(BOOL bIsAsk,BYTE bySAddr,BYTE byDAddr,BYTE byCID,BYTE* pbyData=NULL,WORD wSize=0); BOOL BufToFrame(BYTE* pbyData,WORD wSize); void FrameToBuf(BYTE*& pbyData,WORD& wSize);};*/class CMonitorSvr ;class CNBEchoSvr : public CNBTcpSvr{public: CNBEchoSvr(CMonitorSvr* pMonSvr,CAllMgr* pAllMgr,const CInetAddress& stInetAddr, tcport_t tPort) : CNBTcpSvr(stInetAddr, tPort) { m_pMonSvr = pMonSvr; m_pAllMgr = pAllMgr; } virtual ~CNBEchoSvr() {} void WriteToAll(char* pchData,int nSize); bool Run();protected: virtual bool OnRead(CTcpStream& stTcpStream); virtual bool OnException(CException& e) { cout << e << endl; return true; } virtual bool OnWrite(CTcpStream& stTcpStream); CAllMgr* m_pAllMgr; CMonitorSvr* m_pMonSvr;};class CMonitorSvr {public: CMonitorSvr(CAllMgr* pAllMgr); ~CMonitorSvr(); bool Init(); bool Run() {return m_stNBEchoSvr.Run();}// void CDT(BYTE* abyData,int iWriteSpace); void CDT(); void AddSOE(SOEData* pSOEValue,WORD wCount); void AddEvent(WORD wDevNo,char* pszEvent);protected: queue<SOEData> m_quSOEData; CEventQue m_quEvent; CAllMgr* m_pAllMgr; pthread_t m_hThread; pthread_mutex_t m_mutexSOE; pthread_mutex_t m_mutexEvent; CNBEchoSvr m_stNBEchoSvr;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -