This commit is contained in:
aozhiwei 2020-05-04 09:09:18 +08:00
parent d6c1e598b0
commit e0d84b73f8
7 changed files with 70 additions and 24 deletions

View File

@ -364,12 +364,12 @@ void App::DispatchMsg()
break;
case SF_IMConn:
{
ProcessIMConnMsg(hdr);
}
break;
case SF_MSConn:
{
ProcessMSConnMsg(hdr);
}
break;
default:
@ -442,35 +442,37 @@ void App::ProcessIMServerMsg(f8::MsgHdr& hdr)
}
}
void App::ProcessMasterServerMsg(f8::MsgHdr& hdr)
void App::ProcessIMConnMsg(f8::MsgHdr& hdr)
{
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->msmsghandler,
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->imcmsghandler,
hdr.msgid);
if (handler) {
#if 0
switch (handler->handlerid) {
case HID_MasterSvrMgr:
ProcessNetMsg(handler, MasterSvrMgr::Instance(), hdr);
case HID_PlayerMgr:
ProcessNetMsg(handler, PlayerMgr::Instance(), hdr);
break;
default:
{
}
break;
}
#endif
}
}
void App::ProcessTargetServerMsg(f8::MsgHdr& hdr)
void App::ProcessMSConnMsg(f8::MsgHdr& hdr)
{
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->mscmsghandler,
hdr.msgid);
if (handler) {
switch (handler->handlerid) {
case HID_PlayerMgr:
ProcessNetMsg(handler, PlayerMgr::Instance(), hdr);
break;
default:
{
if (hdr.msgid == ss::_SS_ForceCloseSocket) {
WSListener::Instance()->ForceCloseClient(hdr.socket_handle);
return;
}
if (hdr.msgid < 100) {
return;
break;
}
if (hdr.msgid == ss::_SS_CMLogin || hdr.msgid == ss::_SS_CMReConnect) {
#if 0
GameClientMgr::Instance()->BindTargetConn(hdr.socket_handle, hdr.ip_saddr);
#endif
WSListener::Instance()->MarkClient(hdr.socket_handle, true);
}
}

View File

@ -44,8 +44,8 @@ private:
void ProcessWSProxyMsg(f8::MsgHdr& hdr);
void ProcessIMServerMsg(f8::MsgHdr& hdr);
void ProcessMasterServerMsg(f8::MsgHdr& hdr);
void ProcessTargetServerMsg(f8::MsgHdr& hdr);
void ProcessIMConnMsg(f8::MsgHdr& hdr);
void ProcessMSConnMsg(f8::MsgHdr& hdr);
void InitLog();
void UnInitLog();

View File

@ -35,6 +35,10 @@ void HandlerMgr::RegisterNetMsgHandlers()
{
RegisterNetMsgHandler(&immsghandler, &IMListener::_SS_Ping);
RegisterNetMsgHandler(&mscmsghandler, &PlayerMgr::_SS_MS_PushUserList);
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_SendChatMsg);
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_SS_WSP_SocketDisconnect);

View File

@ -22,8 +22,9 @@ class HandlerMgr : public a8::Singleton<HandlerMgr>
void UnInit();
f8::NetMsgHandlerObject wsmsghandler;
f8::NetMsgHandlerObject msmsghandler;
f8::NetMsgHandlerObject immsghandler;
f8::NetMsgHandlerObject imcmsghandler;
f8::NetMsgHandlerObject mscmsghandler;
void ProcGMMsg(unsigned long saddr, int sockhandle,
const std::string& url, const std::string& querystr);

View File

@ -22,6 +22,16 @@ void PlayerMgr::_SS_WSP_SocketDisconnect(f8::MsgHdr& hdr, const ss::SS_WSP_Socke
}
}
void PlayerMgr::_SS_MS_PushUserList(f8::MsgHdr& hdr, const ss::SS_MS_PushUserList& msg)
{
}
void PlayerMgr::_SS_IM_SendChatMsg(f8::MsgHdr& hdr, const ss::SS_IM_SendChatMsg& msg)
{
}
void PlayerMgr::_CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg)
{

View File

@ -8,6 +8,8 @@ namespace cs
namespace ss
{
class SS_WSP_SocketDisconnect;
class SS_MS_PushUserList;
class SS_IM_SendChatMsg;
}
class Player;
@ -25,6 +27,9 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
void UnInit();
void _SS_WSP_SocketDisconnect(f8::MsgHdr& hdr, const ss::SS_WSP_SocketDisconnect& msg);
void _SS_MS_PushUserList(f8::MsgHdr& hdr, const ss::SS_MS_PushUserList& msg);
void _SS_IM_SendChatMsg(f8::MsgHdr& hdr, const ss::SS_IM_SendChatMsg& msg);
void _CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg);
Player* GetPlayerBySocket(int socket);

View File

@ -57,3 +57,27 @@ message SS_Pong
message SS_ForceCloseSocket
{
}
message SS_IM_UserOnline
{
optional string account_id = 1;
}
message SS_IM_UserOffline
{
optional string account_id = 1;
}
message SS_IM_PullUserList
{
}
message SS_MS_PushUserList
{
}
message SS_IM_SendChatMsg
{
}