Files
mir_server/server/LogicServer/commonserver/CommonServerClient.h

47 lines
1.5 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#ifndef COMMON_SERVER_CLIENT_H_
#define COMMON_SERVER_CLIENT_H_
/*
CCommonServerClient对象
*/
class CCommonServerClient : public CCustomJXServerClientSocket
{
friend class CCommonServer;
public:
typedef CCustomJXServerClientSocket Inherited;
CCommonServerClient(CCommonServer *lpCommonServer, SOCKET nSocket, PSOCKADDR_IN pAddrIn);
virtual ~CCommonServerClient();
/*
* Comments: CDataPacket类
* Param CDataPacket * pPacket:
* @Return void:
* @Remark: 线
线
*/
void FreeBackUserDataPacket(CDataPacket* pPacket);
protected:
// CCustomSocket 虚函数
VOID OnDisconnected();
VOID OnError(INT errorCode);
// CCustomWorkSocket 虚函数
VOID OnRun();
// CCustomJXServerClientSocket
VOID OnDispatchRecvPacket(const jxSrvDef::INTERSRVCMD nCmd, CDataPacketReader &inPacket);
bool OnValidateRegData(const jxSrvDef::PSERVER_REGDATA pRegData);
// 由CommonServer调用的例行执行函数
inline VOID Run() { SingleRun(); }
CDataPacket* AllocSendPacket();
private:
CQueueList<CDataPacket*> m_vFreeList; //用来存放空闲的数据包
CCSLock m_vFreeListLock;
};
#endif