/************************************************************************* 【文件名】 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; };