/// <summary>
        ///
        /// </summary>
        /// <param name="netState"></param>
        /// <param name="packetReader"></param>
        internal static void Realm_HandleRequestSessionResult(NetState netState, PacketReader packetReader)
        {
            RealmExtendData extendData = netState.GetComponent <RealmExtendData>(RealmExtendData.COMPONENT_ID);

            if (extendData == null)
            {
                Debug.WriteLine("Realm_PacketHandlers.Realm_HandleRequestSessionResult(...) - extendData == null error!");
                return;
            }

            if (extendData.IsLoggedIn == false)
            {
                Debug.WriteLine("Realm_PacketHandlers.Realm_HandleRequestSessionResult(...) - extendData.IsLoggedIn == false error!");
                return;
            }

            uint iSerial = packetReader.ReadUInt32();

            NetState worldNetState = PendingLogins.GetAuthenticate(iSerial);

            if (worldNetState == null)
            {
                Debug.WriteLine("Realm_PacketHandlers.Realm_HandleRequestSessionResult(...) - sendNetState == null error!");
                return;
            }
            PendingLogins.RemoveAuthenticate(iSerial);

            WorldPacketHandlers.InternalCallbackAuthenticate(worldNetState, packetReader);
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="netState"></param>
        /// <param name="packetReader"></param>
        public static void World_HandleAuthSession(NetState netState, PacketReader packetReader)
        {
            WorldExtendData extendData = netState.GetComponent <WorldExtendData>(WorldExtendData.COMPONENT_ID);

            if (extendData == null)
            {
                Debug.WriteLine("World_PacketHandlers.World_AuthSession(...) - extendData == null error!");
                return;
            }

            if (extendData.IsLoggedIn == true)
            {
                Debug.WriteLine("World_PacketHandlers.World_AuthSession(...) - extendData.IsLoggedIn == true error!");
                return;
            }

            extendData.AuthSession = AuthSession.ReadWorldAuthSession(packetReader);

            Serial serial = PendingLogins.ExclusiveSerial.GetExclusiveSerial();

            PendingLogins.AddAuthenticate(serial, netState);   // 等待登陆

            // 通知 Realm Server 有新的客户端需要验证
            ProcessServer.RealmNetState.Send(new Realm_RequestSession(serial, extendData.AuthSession.AccountName));
        }