添加新老协议兼容
This commit is contained in:
parent
f9499dd070
commit
9daa10e6b2
@ -30,6 +30,8 @@
|
|||||||
#include "MSConnMgr.h"
|
#include "MSConnMgr.h"
|
||||||
#include "IMConnMgr.h"
|
#include "IMConnMgr.h"
|
||||||
|
|
||||||
|
#include "cs_msgid.pb.h"
|
||||||
|
|
||||||
#include "framework/cpp/msgqueue.h"
|
#include "framework/cpp/msgqueue.h"
|
||||||
#include "framework/cpp/tglog.h"
|
#include "framework/cpp/tglog.h"
|
||||||
#include "framework/cpp/netmsghandler.h"
|
#include "framework/cpp/netmsghandler.h"
|
||||||
@ -367,6 +369,22 @@ void App::DispatchMsg()
|
|||||||
|
|
||||||
void App::ProcessWSProxyMsg(f8::MsgHdr& hdr)
|
void App::ProcessWSProxyMsg(f8::MsgHdr& hdr)
|
||||||
{
|
{
|
||||||
|
if (hdr.msgid == cs::CMMessageId_e::_CMLogin) {
|
||||||
|
cs::CMLoginCommonHead common_head;
|
||||||
|
bool ok = common_head.ParseFromArray(hdr.buf + hdr.offset, hdr.buflen - hdr.offset);
|
||||||
|
if (ok) {
|
||||||
|
if (common_head.has_server_id()) {
|
||||||
|
cs::CMLoginOld msg;
|
||||||
|
msg.ParseFromArray(hdr.buf + hdr.offset, hdr.buflen - hdr.offset);
|
||||||
|
PlayerMgr::Instance()->_CMLoginOld(hdr, msg);
|
||||||
|
} else {
|
||||||
|
cs::CMLogin msg;
|
||||||
|
msg.ParseFromArray(hdr.buf + hdr.offset, hdr.buflen - hdr.offset);
|
||||||
|
PlayerMgr::Instance()->_CMLogin(hdr, msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->wsmsghandler,
|
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->wsmsghandler,
|
||||||
hdr.msgid);
|
hdr.msgid);
|
||||||
if (handler) {
|
if (handler) {
|
||||||
|
@ -64,7 +64,9 @@ void HandlerMgr::RegisterNetMsgHandlers()
|
|||||||
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_SS_WSP_SocketDisconnect);
|
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_SS_WSP_SocketDisconnect);
|
||||||
|
#if 0
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_CMLogin);
|
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_CMLogin);
|
||||||
|
#endif
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMPing);
|
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMPing);
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMUpdateUserInfo);
|
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMUpdateUserInfo);
|
||||||
|
@ -213,6 +213,17 @@ void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUse
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PlayerMgr::_CMLoginOld(f8::MsgHdr& hdr, const cs::CMLoginOld& msg)
|
||||||
|
{
|
||||||
|
cs::CMLogin new_msg;
|
||||||
|
new_msg.set_account_id(msg.account_id());
|
||||||
|
new_msg.set_session_id(msg.session_id());
|
||||||
|
new_msg.set_nickname(msg.nickname());
|
||||||
|
new_msg.set_avatar_url(msg.avatar_url());
|
||||||
|
new_msg.set_sex(msg.sex());
|
||||||
|
_CMLogin(hdr, new_msg);
|
||||||
|
}
|
||||||
|
|
||||||
void PlayerMgr::_CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg)
|
void PlayerMgr::_CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg)
|
||||||
{
|
{
|
||||||
Player* hum = GetPlayerByAccountId(msg.account_id());
|
Player* hum = GetPlayerByAccountId(msg.account_id());
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace cs
|
namespace cs
|
||||||
{
|
{
|
||||||
|
class CMLoginOld;
|
||||||
class CMLogin;
|
class CMLogin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,6 +54,7 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
|
|||||||
|
|
||||||
void _SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg);
|
void _SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg);
|
||||||
|
|
||||||
|
void _CMLoginOld(f8::MsgHdr& hdr, const cs::CMLoginOld& 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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user