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; } } }
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; } } }