|
Опкоды, Формулы, Клиент Разбор и изучение взаимодействия клиента с сервером |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
12.09.2013, 12:12 | #1 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
Компрессия 5.x
Кто-нибудь собирался со сжатием опкодов в пандарии?
Походу теперь сжатый пакет имеет вид Opcode: SMSG_COMPRESSED_PACKET Data: uint32(compressedsize)array(compressedData) compressedData: compress(uint32(originalOpcode)array(originalData) ) |
12.09.2013, 13:32 | #2 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
он вроде таким и был всегда, обычный зип. а что за компресс в конце? что имеется ввиду?
|
12.09.2013, 13:57 | #3 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
это то что внутри array(compressedData)
сжатый оригинальный пакет, теперь 4-байтовый оригинальный опкод+данные. раньше оригинальный опкод не слался, к опкоду сжатого пакета прибавлялась маска 0x8000, означающая что он сжатый. Ката: Код:
Opcode: originalOpcode |= 0x8000; Data: uint32(compressedsize)array(zlib_compress(array(data))) Код:
Opcode: SMSG_COMPRESSED_PACKET Data: uint32(compressedsize)array(zlib_compress(uint32(originalOpcode)array(data))) Последний раз редактировалось Amaru; 12.09.2013 в 15:38. |
|
|