コード例 #1
0
ForSClientMsgHandler::ForSClientMsgHandler():m_bIsWsMsg(true)
{

#define REGISTER_INTERNAL_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForSClientMsgHandler::handler, this , _1, _2, _3)); \
	}

	REGISTER_INTERNAL_MESSAGE(PRO_SS_REP_LOGINED,SSRepLogined,RepLogined);	// 登录结果 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REP_SERVERINFO_LIST,SSRepServerInfoList,RepServerInfoList);	// 服务器管理信息协议 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_NOFTTY_SERVERID,SSSessionNofitySInfo,NofityClientSessionInfo); // 同步分配服务器ID 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REP_PING_S,SSRepPingS,RepPingToS); // ping 

#undef REGISTER_INTERNAL_MESSAGE

// 这里其实fep只作为ws的客户端,也只有ws到client的消息 
#define REGISTER_S2C_MESSAGE(msg_idx,cls)\
	{\
	RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForSClientMsgHandler::ServerToClient, this, _1, _2, _3)); \
	}
	// from ws 

#undef REGISTER_S2C_MESSAGE

}
コード例 #2
0
ForServerMsgHandler::ForServerMsgHandler()
{
	// common 需要用到内部协议
	// 内部协议,即不分不同servertype,都去做统一的事情,如登录,返回列表,ping等等操作 
#define REGISTER_INTERNAL_MESSAGE(msg_idx,cls,handler) \
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForServerMsgHandler::handler, this, _1, _2, _3)); \
	}

	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_LOGIN_WS,SSReqLoginWs,ReqLogin);
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_LOAD_LEST,SSReqLoadLest,ReqRoadLest);
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_CLIENT_EXIT,SSNofityClientExit,NofityClientExit);

#undef REGISTER_INTERNAL_MESSAGE

	// dp
#define REGISTER_DP_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&DpServerProcHandler::handler, DpServerProcHandler::Instance(), _1, _2, _3)); \
	}

#undef REGISTER_DP_MESSAGE

	// ls
#define REGISTER_LS_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&LoginServerProcHandler::handler, LoginServerProcHandler::Instance(), _1, _2, _3)); \
	}
	
#undef REGISTER_LS_MESSAGE

// fep
#define REGISTER_FEP_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&FepServerProcHandler::handler, FepServerProcHandler::Instance(), _1, _2, _3)); \
	}

#undef REGISTER_FEP_MESSAGE

	// ss
#define REGISTER_SS_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&SceneServerProcHandler::handler, SceneServerProcHandler::Instance(), _1, _2, _3)); \
	}

#undef REGISTER_SS_MESSAGE

	// client
#define REGISTER_CLIENT_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ClientProcHandler::handler, ClientProcHandler::Instance(), _1, _2, _3)); \
	}

	REGISTER_CLIENT_MESSAGE(PRO_C2W_SWITCH_SCENE,C2WSwitchScene,ReqSwitchScene); // 切换场景 

#undef REGISTER_CLIENT_MESSAGE


}
コード例 #3
0
ForWorldMsgHandler::ForWorldMsgHandler()
{

	// 内部协议
#define REGISTER_INTERNAL_MESSAGE(msg_idx,cls,handler)\
	{\
	RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForWorldMsgHandler::handler, this, _1, _2, _3)); \
}

	REGISTER_INTERNAL_MESSAGE(PRO_SS_REP_LOGINED,SSRepLogined,RepLogined);	// 登录结果 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REP_SERVERINFO_LIST,SSRepServerInfoList,RepServerInfoList);	// 服务器管理信息协议 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_NOFTTY_SERVERID,SSSessionNofitySInfo,NofityClientSessionInfo); // 同步分配服务器ID 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_CLIENT_EXIT,SSNofityClientExit,NofityClientExit);


#undef REGISTER_INTERNAL_MESSAGE

}
コード例 #4
0
ForServerMsgHandler::ForServerMsgHandler()
{
	// 内部协议
#define REGISTER_INTERNAL_MESSAGE(msg_idx,cls,handler)\
	{\
	RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForServerMsgHandler::handler, this, _1, _2, _3)); \
}

	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_LOGIN_S, SSReqLoginS, ReqLogined);	// 请求登录

#undef REGISTER_INTERNAL_MESSAGE
}
コード例 #5
0
ForServerMsgHandler::ForServerMsgHandler()
{

#define REGISTER_INTERNAL_MESSAGE(msg_idx,cls,handler)\
	{\
	RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForServerMsgHandler::handler, this, _1, _2, _3)); \
}

	REGISTER_INTERNAL_MESSAGE(PRO_SS_REP_LOGINED,SSRepLogined,RepLogined);	// 登录结果 

#undef REGISTER_INTERNAL_MESSAGE

}
コード例 #6
0
ForServerMsgHandler::ForServerMsgHandler()
{
	// 内部协议 
#define REGISTER_INTERNAL_MESSAGE(msg_idx,cls,handler)\
	{\
	RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ForServerMsgHandler::handler, this, _1, _2, _3)); \
}

	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_LOGIN_S, SSReqLoginS, ReqLogined);	// 请求登录 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_PING_S,SSReqPingToS,ReqPingToS);
	REGISTER_INTERNAL_MESSAGE(PRO_SS_NOFTTY_SERVERID,SSSessionNofitySInfo,NofityClientSessionInfo); // 同步分配服务器ID 
	REGISTER_INTERNAL_MESSAGE(PRO_SS_REQ_CLIENT_EXIT,SSNofityClientExit, ReqClientExitScene);

#undef REGISTER_INTERNAL_MESSAGE

// 来自server的请求协议 
#define REGISTER_SS_MESSAGE(msg_idx,cls,handler)\
	{\
		RegisterMessage(msg_idx, sizeof(cls), boost::bind(&ProcServerHandler::handler, ProcServerHandler::Instance(), _1, _2, _3)); \
	}

	//----------------for ls----------------------
	REGISTER_SS_MESSAGE(PRO_L2D_NAMES_LIST,L2DNamesList,ReqNamesList);
	REGISTER_SS_MESSAGE(PRO_L2D_ACCOUNT_LOGIN,	L2DAccountLogin,ReqAccountLogin); 	// 用户登录查询 
	REGISTER_SS_MESSAGE(PRO_L2D_ROLE_CREATE,	L2DRoleCreate,	ReqRoleCreate);

	//----------------for ss----------------------
	REGISTER_SS_MESSAGE(PRO_S2D_LOAD_CHARACTER,	S2DLoadCharacter,ReqLoadCharacter);
	REGISTER_SS_MESSAGE(PRO_S2D_SAVE_CHARACTER, S2DSaveUserAllData, ReqSaveCharacter);
	REGISTER_SS_MESSAGE(PRO_S2D_SAVE_MIXITEMNUMBER,S2DSaveMixItemNumber,ReqSaveMixItemNumber);
	



#undef REGISTER_SS_MESSAGE

}