ss::SS_WSP_SocketDisconnect
This commit is contained in:
parent
845a51eb5e
commit
62515235ca
@ -14,6 +14,11 @@ void PlayerMgr::UnInit()
|
||||
|
||||
void PlayerMgr::_SS_WSP_SocketDisconnect(f8::MsgHdr& hdr, const ss::SS_WSP_SocketDisconnect& msg)
|
||||
{
|
||||
auto itr = socket_hash_.find(hdr.socket_handle);
|
||||
if (itr != socket_hash_.end()) {
|
||||
itr->second->socket_handle = 0;
|
||||
socket_hash_.erase(itr);
|
||||
}
|
||||
}
|
||||
|
||||
int PlayerMgr::OnlineNum()
|
||||
@ -51,5 +56,16 @@ Player* PlayerMgr::CreatePlayerByCMJoin(int socket, const cs::CMJoin& msg)
|
||||
|
||||
void PlayerMgr::OnClientDisconnect(a8::XParams& param)
|
||||
{
|
||||
int gg_socket = param.sender;
|
||||
|
||||
std::vector<int> socket_list;
|
||||
for (auto& pair : socket_hash_) {
|
||||
unsigned short parent_socket_handle = (pair.first >> 16) & 0xFFFF;
|
||||
if (parent_socket_handle == gg_socket) {
|
||||
socket_list.push_back(pair.first);
|
||||
}
|
||||
}
|
||||
for (int socket_handle : socket_list) {
|
||||
socket_hash_.erase(socket_handle);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user