This commit is contained in:
aozhiwei 2019-09-14 15:34:34 +08:00
parent 0a5bd26af0
commit 19d957a62c
9 changed files with 97 additions and 2 deletions

View File

@ -16,6 +16,7 @@
#include "jsondatamgr.h"
#include "handlermgr.h"
#include "GCListener.h"
#include "playermgr.h"
#include "framework/cpp/msgqueue.h"
#include "framework/cpp/tglog.h"
@ -82,6 +83,7 @@ void App::Init(int argc, char* argv[])
JsonDataMgr::Instance()->Init();
uuid.SetMachineId(instance_id);
GCListener::Instance()->Init();
PlayerMgr::Instance()->Init();
a8::UdpLog::Instance()->Info("gameserver starting instance_id:%d pid:%d", {instance_id, getpid()});
{
@ -103,6 +105,7 @@ void App::UnInit()
if (terminated) {
return;
}
PlayerMgr::Instance()->UnInit();
GCListener::Instance()->UnInit();
JsonDataMgr::Instance()->UnInit();
f8::MsgQueue::Instance()->UnInit();
@ -292,6 +295,7 @@ void App::DispatchMsg()
switch (pdelnode->sockfrom) {
case SF_GameClient:
{
ProcessGameClientMsg(hdr);
}
break;
}
@ -353,6 +357,23 @@ void App::ProcessIMMsg()
}
}
void App::ProcessGameClientMsg(f8::MsgHdr& hdr)
{
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->gcmsghandler,
hdr.msgid);
if (handler) {
switch (handler->handlerid) {
case HID_PlayerMgr:
ProcessNetMsg(handler, PlayerMgr::Instance(), hdr);
break;
default:
{
}
break;
}
}
}
void App::InitLog()
{
std::string filename_fmt = PROJ_LOG_FILENAME_FMT;

View File

@ -41,6 +41,7 @@ private:
void DispatchMsg();
void ProcessIMMsg();
void ProcessGameClientMsg(f8::MsgHdr& hdr);
void InitLog();
void UnInitLog();

View File

@ -15,7 +15,8 @@ enum InnerMesssage_e
//网络处理对象
enum NetHandler_e
{
HID_GSMgr,
HID_PlayerMgr,
HID_Plyaer
};
const char* const PROJ_NAME_FMT = "game%d_gameserver";

View File

@ -6,6 +6,9 @@
#include "GCListener.h"
#include "app.h"
#include "playermgr.h"
#include "cs_proto.pb.h"
static void _GMOpsSelfChecking(f8::JsonHttpRequest* request)
{
@ -36,6 +39,7 @@ void HandlerMgr::UnInit()
void HandlerMgr::RegisterNetMsgHandlers()
{
RegisterNetMsgHandler(&gcmsghandler, &PlayerMgr::_CMAuthSession);
}
void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle,

View File

@ -21,7 +21,7 @@ class HandlerMgr : public a8::Singleton<HandlerMgr>
void Init();
void UnInit();
f8::NetMsgHandlerObject ggmsghandler;
f8::NetMsgHandlerObject gcmsghandler;
void ProcGMMsg(unsigned long saddr, int sockhandle,
const std::string& url, const std::string& quyerstr);

View File

View File

View File

@ -0,0 +1,38 @@
#include "precompile.h"
#include "playermgr.h"
void PlayerMgr::Init()
{
}
void PlayerMgr::UnInit()
{
}
void PlayerMgr::_CMAuthSession(f8::MsgHdr& hdr, const cs::CMAuthSession& msg)
{
}
int PlayerMgr::OnlineNum()
{
return 0;
}
Player* PlayerMgr::GetPlayerBySocket(int socket)
{
return nullptr;
}
void PlayerMgr::OnClientDisconnect(a8::XParams& param)
{
}
void PlayerMgr::RemovePlayerBySocket(int socket_handle)
{
}

View File

@ -0,0 +1,30 @@
#pragma once
namespace cs
{
class CMAuthSession;
}
class Player;
class PlayerMgr : public a8::Singleton<PlayerMgr>
{
public:
enum { HID = HID_PlayerMgr };
private:
PlayerMgr() {};
friend class a8::Singleton<PlayerMgr>;
public:
void Init();
void UnInit();
void _CMAuthSession(f8::MsgHdr& hdr, const cs::CMAuthSession& msg);
int OnlineNum();
Player* GetPlayerBySocket(int socket);
void OnClientDisconnect(a8::XParams& param);
void RemovePlayerBySocket(int socket_handle);
private:
std::map<int, Player*> socket_hash_;
};