Files
mir_server/server/LogicServer/logicclient/CommonClient.h

66 lines
2.3 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#ifndef COMMON_CLIENT_H_
#define COMMON_CLIENT_H_
/*
CDataPacket &packet = allocProtoPacket(nCmdId);
// 填充消息数据包
fluashProtoPacket(packet);
CComClient *pCClient = GetGlobalEngine()->GetCommonClient();
CDataPacket &packet = pCClient->allocProtoPacket(nCmdId);
// 填充消息数据包
pCClient->fluashProtoPacket(packet);
OnDispatchRecvPacket接受消息并且将消息转发给NetWorkHandler里头线NetWorkHandler
*/
class CCommonClient : public CCustomJXClientSocket
{
public:
typedef CCustomJXClientSocket Inherited;
CCommonClient();
virtual ~CCommonClient();
/*
* Comments: CDataPacket类
* Param CDataPacket * pPacket:
* @Return void:
* @Remark: CommonClient收到来自CommonServer的数据包之后线
线
*/
void FreeBackUserDataPacket(CDataPacket* pPacket);
protected:
// 以下是实现基类的虚函数
virtual VOID OnDispatchRecvPacket(const jxSrvDef::INTERSRVCMD nCmd, CDataPacketReader &inPacket);
virtual jxSrvDef::SERVERTYPE getLocalServerType();
/* ★查询本地服务器的名称,以便正确的发送注册数据 */
virtual LPCSTR getLocalServerName();
/* ★查询本地服务器ID以便正确的发送注册数据默认的返回值是0 */
virtual int getLocalServerIndex();
virtual void OnRountine()
{
CCustomJXClientSocket::OnRountine();
}
/*
* Comments:
* @Return CDataPacket*:
* @Remark: 线线
*/
CDataPacket* AllocSendPacket();
private:
CQueueList<CDataPacket*> m_vFreeList; //用来存放空闲的数据包
CCSLock m_vFreeListLock;
};
#endif