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; break;
case SF_IMConn: case SF_IMConn:
{ {
ProcessIMConnMsg(hdr);
} }
break; break;
case SF_MSConn: case SF_MSConn:
{ {
ProcessMSConnMsg(hdr);
} }
break; break;
default: 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); hdr.msgid);
if (handler) { if (handler) {
#if 0
switch (handler->handlerid) { switch (handler->handlerid) {
case HID_MasterSvrMgr: case HID_PlayerMgr:
ProcessNetMsg(handler, MasterSvrMgr::Instance(), hdr); ProcessNetMsg(handler, PlayerMgr::Instance(), hdr);
break;
default:
{
}
break; 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) { break;
return;
} }
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 ProcessWSProxyMsg(f8::MsgHdr& hdr);
void ProcessIMServerMsg(f8::MsgHdr& hdr); void ProcessIMServerMsg(f8::MsgHdr& hdr);
void ProcessMasterServerMsg(f8::MsgHdr& hdr); void ProcessIMConnMsg(f8::MsgHdr& hdr);
void ProcessTargetServerMsg(f8::MsgHdr& hdr); void ProcessMSConnMsg(f8::MsgHdr& hdr);
void InitLog(); void InitLog();
void UnInitLog(); void UnInitLog();

View File

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

View File

@ -22,8 +22,9 @@ class HandlerMgr : public a8::Singleton<HandlerMgr>
void UnInit(); void UnInit();
f8::NetMsgHandlerObject wsmsghandler; f8::NetMsgHandlerObject wsmsghandler;
f8::NetMsgHandlerObject msmsghandler;
f8::NetMsgHandlerObject immsghandler; f8::NetMsgHandlerObject immsghandler;
f8::NetMsgHandlerObject imcmsghandler;
f8::NetMsgHandlerObject mscmsghandler;
void ProcGMMsg(unsigned long saddr, int sockhandle, void ProcGMMsg(unsigned long saddr, int sockhandle,
const std::string& url, const std::string& querystr); 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) void PlayerMgr::_CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg)
{ {

View File

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

View File

@ -57,3 +57,27 @@ message SS_Pong
message SS_ForceCloseSocket 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
{
}