NetWork_Alone.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #pragma once
  2. #include "BaseDefine.h"
  3. #include "NetWorkMng_I.h"
  4. #include "DispatchMng_I.h"
  5. #include "CallBackFun_Def.h"
  6. class CNetWork_Alone : public CNetWorkMng_I
  7. {
  8. public:
  9. CNetWork_Alone(CDispatchMng_I* pDispatchMng);
  10. ~CNetWork_Alone(void);
  11. private:
  12. CommandQueue* m_pSendList_TCP;
  13. CommandQueue* m_pSendList_UDP;
  14. CommandQueue* m_pSendList_Group;
  15. CommandQueue* m_pRecvList_TCP;
  16. CommandQueue* m_pRecvList_UDP;
  17. CommandQueue* m_pRecvList_Group;
  18. NETDATA_CALLBACK m_pTCPSendCallBack;
  19. NETDATA_CALLBACK m_pUDPSendCallBack;
  20. private:
  21. DWORD m_SendTCPThreadID; //线程ID-TCP数据发送
  22. DWORD m_SendUDPThreadID; //线程ID-UDP数据发送
  23. DWORD m_SendGroupThreadID; //线程ID-组播数据发送
  24. HANDLE m_SendTCPThreadHandle; //线程句柄-TCP数据发送
  25. HANDLE m_SendUDPThreadHandle; //线程句柄-UDP数据发送
  26. HANDLE m_SendGroupThreadHandle; //线程句柄-组播数据发送
  27. std::thread m_ThreadSend_TCP; //线程发送_TCP数据
  28. std::thread m_ThreadSend_UDP; //线程发送_UDP数据
  29. std::thread m_ThreadSend_Group; //线程发送_组播数据
  30. public:
  31. bool m_SendTCPThreadOut; //线程退出标志-TCP数据发送
  32. bool m_SendUDPThreadOut; //线程退出标志-UDP数据发送
  33. bool m_SendGroupThreadOut; //线程退出标志-组播数据发送
  34. public:
  35. void ThreadFun_TCP_Send();
  36. void ThreadFun_UDP_Send();
  37. void ThreadFun_Group_Send();
  38. public:
  39. virtual int _IGet_System_ID();
  40. virtual int _IGetTrainID();
  41. virtual int _IConnectToTech();
  42. virtual bool _IClose();
  43. virtual void _ICreate_TCP_Connect( int nSysID );
  44. virtual void _ISend_TCPData_RightNow( OCCCOMMAND NetCmd );
  45. virtual void _ISend_UDPData_RightNow( OCCCOMMAND NetCmd );
  46. virtual void _ISetRepeat_MainCtrl_SysID ( int nSysID );
  47. virtual void _ISetRepeat_MainCtrl_ClientID( int nSysID );
  48. virtual void _ISetTechID ( int nTeachSysID );
  49. virtual void _ISetTrainID( int nTrainingID );
  50. virtual void _IRecord_Training_Sys( int nSysType);
  51. virtual void _IRecord_Key_System ( int nSysType, int nSysID );
  52. virtual void _ISetNetData_MonitorS(BOOL bNetData_MonitorS); //设置网络数据监视开关
  53. virtual void _IStart_Training( int nTrainingID, int nCourseID, int nSimTime );
  54. virtual void _IEnd_Training ( int nTrainingID, int nCourseID, int nSimTime );
  55. virtual void _ISend_TCP_OtherCmd(OTHER_CMD_TCP OtherCmd_TCP); //数据发送 - TCP非OCC封装
  56. virtual void _ISend_UDP_OtherCmd(OTHER_CMD_UDP OtherCmd_UDP); //数据发送 - UDP非OCC封装
  57. public:
  58. void InitAlone_NetWork(CDispatchMng_I* pDispatchMng);
  59. BOOL DealWith_TCP_Send();
  60. BOOL DealWith_UDP_Send();
  61. BOOL DealWith_Group_Send();
  62. };