public override void OnClientData(ClientBase aClient, byte[] data)
        {
            RealmListClient client = aClient as RealmListClient;

            client.LastActivity = DateTime.Now;

            BinReader       read   = new BinReader(data);
            REALMLISTOPCODE opCode = (REALMLISTOPCODE)read.ReadByte();

            Console.WriteLine("REALMLIST: " + opCode);
            switch (opCode)
            {
            case REALMLISTOPCODE.CHALLENGE:                     // 0x00
            case REALMLISTOPCODE.RECODE_CHALLENGE:              //0x02
            {
                realm_challenge(read, client);
                break;
            }

            case REALMLISTOPCODE.PROOF:                     // 0x01
            case REALMLISTOPCODE.RECODE_PROOF:              // 0x03
            {
                realm_proof(read, client);
                break;
            }

            case REALMLISTOPCODE.REALMLIST_REQUEST:                     // 0x10
            {
                client.Send(realmList);
                client.Close("Done");
                break;
            }
            }
        }
示例#2
0
        public override void OnClientData(ClientBase aClient, byte[] data)
        {
            RealmListClient client = aClient as RealmListClient;

            client.LastActivity = DateTime.Now;
            BinReader       read   = new BinReader(data);
            REALMLISTOPCODE opCode = (REALMLISTOPCODE)read.ReadByte();

            switch (opCode)
            {
            case REALMLISTOPCODE.CHALLENGE:
            case REALMLISTOPCODE.RECODE_CHALLENGE:
            {
                if (opCode == REALMLISTOPCODE.CHALLENGE)
                {
                    client.Send(patch_challenge);
                }
                else
                {
                    client.Send(realm_challenge);
                }
                break;
            }

            case REALMLISTOPCODE.PROOF:
            case REALMLISTOPCODE.RECODE_PROOF:
            {
                client.Send(realm_proof);
                break;
            }

            case REALMLISTOPCODE.REALMLIST_REQUEST:
            {
                client.Send(realmList);
                client.Close("Done");
                break;
            }
            }
        }