81 lines
2.4 KiB
C++
81 lines
2.4 KiB
C++
#ifndef _CROSS_CLIENT_H_
|
||
#define _CROSS_CLIENT_H_
|
||
/*****************************************************************
|
||
Copyright (c) 2021, 上海漫方网络科技有限公司
|
||
All rights reserved
|
||
|
||
创建日期: 2021年04月28日 14时01分
|
||
文件名称: CrossClient.h
|
||
说 明: 数据引擎连接到跨服服务器的客户端类
|
||
|
||
当前版本: 1.00
|
||
作 者:
|
||
概 述: 数据引擎连接到跨服服务器的客户端类
|
||
|
||
*****************************************************************/
|
||
using namespace wylib::sync::lock;
|
||
|
||
class CCrossServerManager;
|
||
class CCrossServer;
|
||
|
||
using namespace jxSrvDef;
|
||
|
||
class CCrossClient
|
||
: public CCustomJXServerClientSocket,
|
||
public CCrossDataHandle
|
||
{
|
||
friend class CCrossServer;
|
||
public:
|
||
typedef CCustomJXServerClientSocket Inherited;
|
||
typedef CCrossDataHandle InHandle;
|
||
protected:
|
||
//VOID ProcessRecvBuffers(PDATABUFFER pDataBuffer);
|
||
VOID DispatchRecvMsg(CDataPacketReader & reader);
|
||
//实现虚接口
|
||
VOID OnDispatchRecvPacket(const jxSrvDef::INTERSRVCMD nCmd, CDataPacketReader &inPacket);
|
||
bool OnValidateRegData(const jxSrvDef::PSERVER_REGDATA pRegData) ;
|
||
virtual void OnRegDataValidated();
|
||
|
||
protected:
|
||
VOID OnDisconnected();
|
||
VOID OnError(INT errorCode);
|
||
//覆盖父类例行执行的函数
|
||
VOID OnRun();
|
||
//由SessionServer调用的例行执行函数
|
||
inline VOID Run(){ SingleRun(); }
|
||
|
||
protected:
|
||
|
||
//重写收 发包的函数
|
||
virtual CDataPacket& AllocDataPacket(const jxSrvDef::INTERSRVCMD nCmd)
|
||
{
|
||
return Inherited::allocProtoPacket(nCmd);
|
||
}
|
||
|
||
virtual void FlushDataPacket(CDataPacket &packet)
|
||
{
|
||
return Inherited::flushProtoPacket(packet);
|
||
}
|
||
|
||
|
||
public:
|
||
CCrossClient(){}
|
||
~CCrossClient(){}
|
||
//反馈是否可以跨平台的消息给逻辑服
|
||
void OnSendReqCommonPlatformResult(CDataPacketReader &inPacket);
|
||
|
||
private:
|
||
int nCrossSrvId;//跨服id
|
||
TICKCOUNT m_dwDisconnectedTick;//断开连接的时间
|
||
|
||
static const size_t MaxSSDataSize = 4096;//向会话服务器发送的单个数据包大小的最大值
|
||
typedef VOID (CCrossClient::*OnHandleSockPacket)(CDataPacketReader &packet);
|
||
static const size_t MaxForwardLogicDataSize = 40960; // 最大数据包为40k
|
||
//大型SQL查询语句缓冲长度
|
||
static const SIZE_T dwHugeSQLBufferSize = 1024 * 1024 * 2;
|
||
};
|
||
|
||
|
||
#endif
|
||
|