| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /*************************************************************************
- 【文件名】 SocketBase.h
- 【功能模块和目的】 客户端服务端套接字基类头文件
- 【开发者及日期】 郑石诺 2015/07/19
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- class CNetLinkMain;
- /*************************************************************************
- 【类名】 CSocketBase
- 【功能】
- 【接口说明】 客户端服务端套接字基类
- 【开发者及日期】 郑石诺 2015/07/19
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CSocketBase
- {
- public:
- CSocketBase(CNetLinkMain* pParent);
- ~CSocketBase(void);
- SOCKET assoSocket(void) const { return m_Socket; }
- SOCKET& assoSocket(void) { return m_Socket; }
- bool dropFlag(void) const { return m_DropFlag; }
- virtual void drop(void) { m_DropFlag = true; }
- virtual bool isAlive(void) = 0;
- virtual void onDisconnect(void) = 0;
- // 得到完成端口的状态后做相应工作
- virtual void doJob(OVERLAPPED* pOverLapped, DWORD BytesTransfered) = 0;
- protected:
- void _close(void);
- protected:
- SOCKET m_Socket;
- CNetLinkMain* m_pParent;
- bool m_DropFlag;
- };
|