![]() |
![]() |
|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Опкоды Опкоды |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#2 |
Новичок
Регистрация: 04.03.2011
Сообщений: 29
Сказал(а) спасибо: 12
Поблагодарили 9 раз(а) в 7 сообщениях
![]() |
![]()
Мне кажется, что опкод должен быть: 0x0A01B и обрабатываться в HandleAuthOpcodes. Однако с этим опкодом пинг в клиенте все равно не показывается. В консоли клиента же поялвяется сообщение "Received pong with old sequence". Так что опкод я думаю верный. Проблема похоже в том, что сервер все время получает CMSG_PING с нулевым ping значением, вместо инкрементирующегося. Клиент пытается послать пинги на все 3 потенциальных соединения (home, world и auth?), но т.к. соедниение открыто только одно видимо клиента плющит.
Последний раз редактировалось Chameleon; 23.03.2011 в 11:13. |
![]() |
![]() |
Пользователь сказал cпасибо: | HuntsMan (25.03.2011) |
![]() |
#3 | |
Ученый
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
![]() |
![]() Цитата:
![]() add: Код:
Packet SMSG, CMSG_PING (1614), len 8, Flags: None ╔════════╦═════════════════════════════════════════════════╦════════════════╗ ║ OFFSET ║ 0 1 2 3 4 5 6 7 8 9 A B C D E F ║0123456789ABCDEF║ ╠════════╬═════════════════════════════════════════════════╬════════════════╣ ║00000000║ 00 00 00 00 01 00 00 00 -- -- -- -- -- -- -- -- ║................║ ╚════════╩═════════════════════════════════════════════════╩════════════════╝ Последний раз редактировалось HuntsMan; 25.03.2011 в 22:24. |
|
![]() |
![]() |
![]() |
#4 |
Ученый
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
![]() |
![]() ![]() Йхууууу ![]() Код:
--- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -1091,8 +1091,10 @@ int WorldSocket::HandlePing (WorldPacket if (m_Session) m_Session->SetLatency(latency); - WorldPacket packet (SMSG_PONG, 4, true); - packet << sequence; + WorldPacket packet (SMSG_PONG, 4); + packet << sequence++; return SendPacket (packet); } Последний раз редактировалось HuntsMan; 26.03.2011 в 07:52. |
![]() |
![]() |
Пользователь сказал cпасибо: | Chameleon (26.03.2011) |
![]() |
#5 |
Новичок
Регистрация: 04.03.2011
Сообщений: 29
Сказал(а) спасибо: 12
Поблагодарили 9 раз(а) в 7 сообщениях
![]() |
![]()
Что-то я не понял, как этот патч работает.
У меня пинг заработал, когда я поменял местами чтение latency и sequence из клиентского пакета. Последний раз редактировалось Chameleon; 26.03.2011 в 10:27. |
![]() |
![]() |
![]() |
#6 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
![]() ![]() ![]() |
![]() Код:
+ packet << sequence++; return SendPacket (packet); |
![]() |
![]() |
![]() |
#7 |
Ученый
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
![]() |
![]()
Магия какая-то
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|