1
This commit is contained in:
parent
ce5d5b7f6e
commit
0442ea3ece
@ -19,10 +19,8 @@ enum InnerMesssage_e
|
|||||||
//网络处理对象
|
//网络处理对象
|
||||||
enum NetHandler_e
|
enum NetHandler_e
|
||||||
{
|
{
|
||||||
HID_Player,
|
|
||||||
HID_PlayerMgr,
|
|
||||||
HID_RoomSvrMgr,
|
|
||||||
HID_GCListener,
|
HID_GCListener,
|
||||||
|
HID_MasterSvrMgr,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PlayerState_e
|
enum PlayerState_e
|
||||||
|
@ -5,6 +5,9 @@
|
|||||||
#include "handlermgr.h"
|
#include "handlermgr.h"
|
||||||
|
|
||||||
#include "GCListener.h"
|
#include "GCListener.h"
|
||||||
|
#include "mastersvrmgr.h"
|
||||||
|
|
||||||
|
#include "ss_proto.pb.h"
|
||||||
|
|
||||||
static void _GMOpsSelfChecking(f8::JsonHttpRequest* request)
|
static void _GMOpsSelfChecking(f8::JsonHttpRequest* request)
|
||||||
{
|
{
|
||||||
@ -26,6 +29,7 @@ void HandlerMgr::UnInit()
|
|||||||
|
|
||||||
void HandlerMgr::RegisterNetMsgHandlers()
|
void HandlerMgr::RegisterNetMsgHandlers()
|
||||||
{
|
{
|
||||||
|
RegisterNetMsgHandler(&msmsghandler, &MasterSvrMgr::_SS_MS_ResponseTargetServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle,
|
void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle,
|
||||||
|
@ -22,8 +22,7 @@ class HandlerMgr : public a8::Singleton<HandlerMgr>
|
|||||||
void UnInit();
|
void UnInit();
|
||||||
|
|
||||||
f8::NetMsgHandlerObject gcmsghandler;
|
f8::NetMsgHandlerObject gcmsghandler;
|
||||||
f8::NetMsgHandlerObject rsmsghandler;
|
f8::NetMsgHandlerObject msmsghandler;
|
||||||
f8::NetMsgHandlerObject gsmsghandler;
|
|
||||||
|
|
||||||
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);
|
||||||
|
@ -32,6 +32,23 @@ void MasterSvrMgr::UnInit()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MasterSvrMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_ResponseTargetServer& msg)
|
||||||
|
{
|
||||||
|
f8::MsgHdr* context_hdr = GetHdr(msg.context_id());
|
||||||
|
if (context_hdr) {
|
||||||
|
if (msg.error_code() == 0) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pending_request_hash_.erase(msg.context_id());
|
||||||
|
pending_socket_hash_.erase(hdr.socket_handle);
|
||||||
|
if (context_hdr->buf) {
|
||||||
|
free((char*)context_hdr->buf);
|
||||||
|
}
|
||||||
|
free(context_hdr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MasterSvr* MasterSvrMgr::GetConnByInstanceId(int instance_id)
|
MasterSvr* MasterSvrMgr::GetConnByInstanceId(int instance_id)
|
||||||
{
|
{
|
||||||
auto itr = mastersvr_hash_.find(instance_id);
|
auto itr = mastersvr_hash_.find(instance_id);
|
||||||
@ -66,7 +83,7 @@ void MasterSvrMgr::OnClientDisconnect(a8::XParams& param)
|
|||||||
if (hdr->buf) {
|
if (hdr->buf) {
|
||||||
free((char*)hdr->buf);
|
free((char*)hdr->buf);
|
||||||
}
|
}
|
||||||
delete hdr;
|
free(hdr);
|
||||||
pending_request_hash_.erase(conext_id);
|
pending_request_hash_.erase(conext_id);
|
||||||
}
|
}
|
||||||
pending_socket_hash_.erase(param.sender);
|
pending_socket_hash_.erase(param.sender);
|
||||||
|
@ -5,9 +5,17 @@ namespace f8
|
|||||||
struct MsgHdr;
|
struct MsgHdr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace ss
|
||||||
|
{
|
||||||
|
class SS_MS_ResponseTargetServer;
|
||||||
|
}
|
||||||
|
|
||||||
class MasterSvr;
|
class MasterSvr;
|
||||||
class MasterSvrMgr : public a8::Singleton<MasterSvrMgr>
|
class MasterSvrMgr : public a8::Singleton<MasterSvrMgr>
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
enum { HID = HID_MasterSvrMgr };
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MasterSvrMgr() {};
|
MasterSvrMgr() {};
|
||||||
friend class a8::Singleton<MasterSvrMgr>;
|
friend class a8::Singleton<MasterSvrMgr>;
|
||||||
@ -17,6 +25,7 @@ class MasterSvrMgr : public a8::Singleton<MasterSvrMgr>
|
|||||||
void Init();
|
void Init();
|
||||||
void UnInit();
|
void UnInit();
|
||||||
|
|
||||||
|
void _SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_ResponseTargetServer& msg);
|
||||||
void RequestTargetServer(f8::MsgHdr& hdr, const std::string& team_id);
|
void RequestTargetServer(f8::MsgHdr& hdr, const std::string& team_id);
|
||||||
void OnClientDisconnect(a8::XParams& param);
|
void OnClientDisconnect(a8::XParams& param);
|
||||||
|
|
||||||
|
@ -29,6 +29,11 @@ void TargetConnMgr::UnInit()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if MASTER_MODE
|
#if MASTER_MODE
|
||||||
|
TargetConn* TargetConnMgr::GetConnByKey(const std::string& key)
|
||||||
|
{
|
||||||
|
auto itr = target_conn_hash_.find(key);
|
||||||
|
return itr != target_conn_hash_.end() ? itr->second : nullptr;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
TargetConn* TargetConnMgr::GetConnByInstanceId(int instance_id)
|
TargetConn* TargetConnMgr::GetConnByInstanceId(int instance_id)
|
||||||
{
|
{
|
||||||
|
@ -13,6 +13,7 @@ class TargetConnMgr : public a8::Singleton<TargetConnMgr>
|
|||||||
void UnInit();
|
void UnInit();
|
||||||
|
|
||||||
#if MASTER_MODE
|
#if MASTER_MODE
|
||||||
|
TargetConn* GetConnByKey(const std::string& key);
|
||||||
#else
|
#else
|
||||||
TargetConn* GetConnByInstanceId(int instance_id);
|
TargetConn* GetConnByInstanceId(int instance_id);
|
||||||
#endif
|
#endif
|
||||||
@ -20,6 +21,7 @@ class TargetConnMgr : public a8::Singleton<TargetConnMgr>
|
|||||||
private:
|
private:
|
||||||
|
|
||||||
#if MASTER_MODE
|
#if MASTER_MODE
|
||||||
|
std::map<std::string, TargetConn*> target_conn_hash_;
|
||||||
#else
|
#else
|
||||||
std::map<int, TargetConn*> target_conn_hash_;
|
std::map<int, TargetConn*> target_conn_hash_;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user