public void NotifyInDisConnectClient(ServerPacketData requestData) { var user = UserMgr.GetUserByNetSessionID(requestData.SessionID); if (user != null) { var lobbyNum = user.LobbyNumber; if (lobbyNum != PacketDef.INVALID_LOBBY_NUMBER) { var packet = new PKTInternalNtfLobbyLeave() { LobbyNumber = lobbyNum, UserID = user.ID, }; var packetBodyData = MessagePackSerializer.Serialize(packet); var internalPacket = new ServerPacketData(); internalPacket.Assign(requestData.SessionID, (UInt16)SYS_PACKET_ID.NTF_IN_LOBBY_LEAVE, packetBodyData); ServerNetwork.Distribute(internalPacket); } UserMgr.RemoveUser(requestData.SessionID); } LobbyServer.MainLogger.Debug($"Current Connected Session Count: {ServerNetwork.SessionCount}"); }
public void NotifyLeaveInternal(ServerPacketData packetData) { LobbyServer.MainLogger.Debug($"NotifyLeaveInternal. SessionID: {packetData.SessionID}"); var ntfData = new PKTInternalNtfLobbyLeave(); ntfData.Decode(packetData.BodyData); LeaveLobbyUser(packetData.SessionID, ntfData.LobbyNumber); }