From f910a16bfa9d7d1ca68a0f852656ff1f9f365921 Mon Sep 17 00:00:00 2001 From: azw Date: Sun, 19 Feb 2023 06:12:46 +0000 Subject: [PATCH] 1 --- server/imserver/cachemgr.h | 3 +++ server/imserver/player.h | 2 +- server/imserver/playermgr.cc | 6 +++--- server/imserver/playermgr.h | 7 +++---- server/imserver/types.h | 6 ++++++ server/tools/protobuild/cs_msgid.proto | 5 ----- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/server/imserver/cachemgr.h b/server/imserver/cachemgr.h index 731543e..b81bb60 100644 --- a/server/imserver/cachemgr.h +++ b/server/imserver/cachemgr.h @@ -16,4 +16,7 @@ class CacheMgr : public a8::Singleton void Init(); void UnInit(); + private: + std::map> account_id_hash_; + }; diff --git a/server/imserver/player.h b/server/imserver/player.h index 147e456..a58cc41 100644 --- a/server/imserver/player.h +++ b/server/imserver/player.h @@ -9,7 +9,7 @@ namespace cs class CMSetCurrPrivateChatTarget; } -class Player +class Player : public std::enable_shared_from_this { public: int socket_handle = 0; diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index 7d2f5de..d4b617b 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -29,7 +29,7 @@ int PlayerMgr::OnlineNum() return socket_hash_.size(); } -Player* PlayerMgr::GetPlayerBySocket(int socket) +std::shared_ptr PlayerMgr::GetPlayerBySocket(int socket) { auto itr = socket_hash_.find(socket); return itr != socket_hash_.end() ? itr->second : nullptr; @@ -46,7 +46,7 @@ void PlayerMgr::OnClientDisconnect(int gg_socket) } } for (int socket_handle : socket_list) { - Player* hum = GetPlayerBySocket(socket_handle); + std::shared_ptr hum = GetPlayerBySocket(socket_handle); if (hum) { RemovePlayerBySocket(socket_handle); } @@ -111,7 +111,7 @@ void PlayerMgr::DecAccountNum(const std::string& account_id) } } -void PlayerMgr::ReBindSocket(Player* hum) +void PlayerMgr::ReBindSocket(std::shared_ptr hum) { socket_hash_[hum->socket_handle] = hum; } diff --git a/server/imserver/playermgr.h b/server/imserver/playermgr.h index 9f5952a..5c6742c 100644 --- a/server/imserver/playermgr.h +++ b/server/imserver/playermgr.h @@ -31,17 +31,16 @@ class PlayerMgr : public a8::Singleton void _SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg); int OnlineNum(); - Player* GetPlayerBySocket(int socket); - Player* CreatePlayerByCMLogin(Player* hum, long ip_saddr, int socket, const cs::CMLogin& msg); + std::shared_ptr GetPlayerBySocket(int socket); void RemovePlayerBySocket(int socket_handle); size_t GetAccountNum() { return account_num_hash_.size(); } void IncAccountNum(const std::string& account_id); void DecAccountNum(const std::string& account_id); - void ReBindSocket(Player* hum); + void ReBindSocket(std::shared_ptr hum); private: void OnClientDisconnect(int gg_socket); private: - std::map socket_hash_; + std::map> socket_hash_; std::map account_num_hash_; }; diff --git a/server/imserver/types.h b/server/imserver/types.h index 6f70f09..be1e4aa 100644 --- a/server/imserver/types.h +++ b/server/imserver/types.h @@ -1 +1,7 @@ #pragma once + +struct UserInfo +{ + std::string account_id; + std::string name; +}; diff --git a/server/tools/protobuild/cs_msgid.proto b/server/tools/protobuild/cs_msgid.proto index 90c35ae..4c27065 100644 --- a/server/tools/protobuild/cs_msgid.proto +++ b/server/tools/protobuild/cs_msgid.proto @@ -13,8 +13,6 @@ enum CMMessageId_e _CMCloseChatNotify = 158; _CMSetCurrPrivateChatTarget = 159; - _CMGuildMsgBegin = 230; - _CMGuildMsgEnd = 270; } enum SMMessageId_e @@ -24,9 +22,6 @@ enum SMMessageId_e _SMLogin = 103; - _SMGuildMsgBegin = 230; - _SMGuildMsgEnd = 270; - _SMUserStatusNotify = 501; _SMShowErrorMsg = 508; _SMCustomMsgNotify = 503;