/// <summary>
        /// 处理匹配请求,成功则创建房间并广播给玩家。并没有处理玩家是否处于其他游戏中
        /// </summary>
        /// <param name="session"></param>
        /// <param name="match"></param>
        private void _onMatch(Session session, Match match)
        {
            if (!LoginFilter(session, "匹配"))
            {
                return;
            }
            MatchingInfo matchingInfo = new MatchingInfo()
            {
                Mode = match.GameMode, UID = session.UID
            };

            _matchingList.Remove(matchingInfo);//总是剔除该玩家已有的匹配请求
            _matchingList.Add(matchingInfo);
            MatchInfo matchInfo;

            if (_tryMatchGame(out UInt64[] uids, out Room room))
            {
                matchInfo = new MatchInfo()
                {
                    GameMode   = room.Gamemanager.Mode,
                    HasAGame   = true,
                    PlayerInfo = room.PlayersInfo.ToArray(),
                    RoomID     = room.ID,
                };
                _gameRooms.Add(room);
                //清理匹配列表
                _matchingList.RemoveAll((macthing) => {//对于每个在匹配表中的玩家
                    foreach (var uid in uids)
                    {
                        if (uid == macthing.UID)//是已经匹配房间的玩家
                        {
                            return(true);
                        }
                    }
                    return(false);
                });
                //设置会话中的RoomID
                _connector.Sessions.ForEach((se) => {
                    foreach (var uid in uids)
                    {
                        if (uid == se.UID)
                        {
                            se.RoomID = room.ID;
                            return;
                        }
                    }
                });
                //广播匹配结果
                _connector.PushMsgByChannel(room.Channel, matchInfo);
                //开启游戏房间内的事件广播
                SubscriptGameEvent(room);
                return;
            }
            else
            {
                matchInfo = new MatchInfo()
                {
                    HasAGame = false
                };
                _connector.SendDataAsync(session, matchInfo);
                return;
            }
        }