Структура PROTOCOL_LOGIN_ACK
Хей.
Подскажите структуру пакета PROTOCOL_LOGIN_ACK :) |
Re: Структура PROTOCOL_LOGIN_ACK
Код:
/** public enum AuthState : uint { LOGGED_IN_OK = 0, ID_IS_ALREADY_LOGGED_IN = 0x80000101, ACCOUNT_IS_STILL_LOGGING_OUT = 0x80000104, FAILED_TO_LOGIN = 0x80000106, LONG_TIME_IS_INACTIVE = 0x80000107, ID_OR_PASSWORD_INCORRECT = 0x80000117, PASSWORD_MISMATCH = 0x80000118, DELETED_ACCOUNT = 0x80000119, UNCONFIRMED_EMAIL = 0x80000120, RESTRICTED_REGION = 0x80000123, } Принимаю дополнения. :) |
Re: Структура PROTOCOL_LOGIN_ACK
Цитата:
Код:
* d // authState |
Re: Структура PROTOCOL_LOGIN_ACK
0x80000123 - uint, так что думаю не зачем. Другое дело, что писали корейцы, а там может быть всякое.
В ПБ я встречал ulong только в accountId, perkMask и objectId у предметов инвентаря. В Piercing Blow появился ещё NewbieGuideIsDone (это те монетки, что в интерфейсе). |
Re: Структура PROTOCOL_LOGIN_ACK
Отправляю клиенту данные:
// opcode 258 WriteH(0); WriteQ(0); // authState WriteQ(1); // accountId WriteC(4); // accountLoginLength WriteS("test"); WriteC(0); WriteC(7); // unknownStringLength (7) WriteS("1204021"); WriteC(0);А он ничем не отвечает и так и весит окно в клиенте "Подключение к серверу" |
Re: Структура PROTOCOL_LOGIN_ACK
Версия последняя? Да и возможно клиент уже просит другой пакет, например следующий по-счету.
Код:
21:01:10 [Debug] [S:1] PROTOCOL_BASE_CONNECT_ACK [514] |
Re: Структура PROTOCOL_LOGIN_ACK
Цитата:
|
Re: Структура PROTOCOL_LOGIN_ACK
Значит ошибка в ответе 259.
|
Re: Структура PROTOCOL_LOGIN_ACK
Оказалось дело в опкоде,но вот захожу на сервер и приходит пустой пакет
[Info] PacketId = 0 Length = 2116 Это что ещё такое? |
Re: Структура PROTOCOL_LOGIN_ACK
А это уже проблема в чтении. Как и раньше, может прилететь несколько пакетов в одном, и например, если там было 2 пакета подряд, вы их декрипнули как один, тогда у второго уже данные будут неверными.
while (received >= 6) { int length = BitConverter.ToUInt16(buffer, 0) & 0x7FFF; byte[] temp = new byte[length + 2]; Buffer.BlockCopy(buffer, 2, temp, 0, temp.Length); BitwiseHelper.Unshift(temp, bits); packetQueue.Enqueue(new ReceivePacketFrame(this, temp)); received -= length + 4; Buffer.BlockCopy(buffer, length + 4, buffer, 0, received); // << Копируем оставшиеся данные в начало буфера } |
Текущее время: 23:56. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot