| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /*************************************************************************
- 【文件名】 PduSocket.h
- 【功能模块和目的】 SOCKET通讯实体类头文件
- 【开发者及日期】 郑石诺 2015/03/19
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- #include "PduLinkInc.h"
- class CPduSocketMonitor;
- class CPduMain;
- class CPduEntity;
- /*************************************************************************
- 【类名】 CPduSocket
- 【功能】
- 【接口说明】 SOCKET通讯实体类
- 【开发者及日期】 郑石诺 2015/03/19
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CPduSocket : public CAsyncSocket
- {
- private:
- CPduMain* m_pParent; // SOCKET通讯主控类
- CPduSocketMonitor* m_pSocketMonitor; // SOCKET监测控制类实例
- // SOCKET读取相关变量
- USHORT m_nHasRead; // 已读取的数据缓冲区长度
- UCHAR m_szPdu[PDU_HEAD_LEN + PDU_MAX_DATA_LEN]; // 已读取的缓冲区内容
- private:
- BOOL __SendBuf(UCHAR a_szBuf[], UINT a_nBufLen); // 发送数据缓冲区
- void __InitData(); // 清空SOCKET数据缓冲区
- public:
- CPduSocket(CPduMain* a_pParent, PDU_LINK_TYPE a_nLinkType, bool IsAutoReconnect);
- virtual ~CPduSocket();
- // SOCKET相关操作
- BOOL ConnectToServer(const CString& a_strFarIp,
- int a_nFarPort,
- PDU_DEV_TYPE a_nFarType,
- int a_nFarId); // 连接到SERVER端
- BOOL Regist(void); // 注册连接
- BOOL Monitor(void); // 心跳监测
- BOOL SendDirectly(CPduEntity* a_pCmd); // 发送PDU命令
- BOOL SendPdu(CPduEntity* a_pCmd); // 发送PDU命令
- // 属性
- void GetPeerLinkInfo(CString& a_strIp, int& a_nPort); // 对端IP、端口号
- void GetPeerDevInfo(PDU_DEV_TYPE& a_nDevType, int& a_nDevId); // 对端设备类型、ID
- void SetPeerDevInfo(PDU_DEV_TYPE a_nDevType, int a_nDevId);
- PDU_LINK_TYPE GetLinkType(); // 得到连接类型
- void GetLocalInfo(PDU_DEV_TYPE& a_nDevType, int& a_nDevId); // 获取PDU本端设备类型及ID
- // SOCKET重载函数
- virtual void OnConnect(int nErrorCode);
- virtual void OnClose(int nErrorCode);
- virtual void OnReceive(int nErrorCode);
- virtual void OnSend(int nErrorCode);
- // 事件响应处理
- void OnConnEstablished(); // 连接建立
- void OnConnFailed(); // 连接失败/断开
- void OnConnRegistOK(); // 注册成功
- void OnConnRegistFailed(); // 注册失败
- };
|