Показать сообщение отдельно
Непрочитано 02.08.2016, 22:15   #73
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Это понятно, но как быть с размером структуры?) Клиент знает один размер, а я заменяю его другим размером.
На сколько я помню, клиент при удалении берет размер из UNetworkPacket, так что самое простое, хук на DispatchNetworkQueue, дальше, если нужен чисто свой пакет, то через малок выделил память, правильно заполнил поля, и клиент сам его нормально удалит. Второй вариант, нужно подхачить чужой пакет, тогда вызываешь оригинал, меняешь, отдаешь клиенту. Третий вариант, самый противный, но тоже ничего сложного, это когда нужно чужой пакет расширить, например html, multisell, ну или дописать каждому, кто пишет в чат, его профу перед ником, мало ли что в голову взбредет. В этом случае вызываем оригинал, сохраняем пакет к себе куда нибудь, можно на стек, потом удаляем пакет через free, выделяем сколько нужно места malloc'ом, копируем туда пакет со стека, расширяем, как надо, и отдаем клиенту. Во всех случаях нужно не забывать фиксить размер в структуре пакета, или будет падать

Добавлено через 3 минуты
Цитата:
Сообщение от flopix Посмотреть сообщение
Я когда писал торгового бота для руоффа обошелся без отправки пакетов клиенту, зачем это вам?
Например, можно выводить менюшки динамические, с длительностью эффектов/еще чем то, писать в чатик статистику, и много других интересных вещей.

Последний раз редактировалось f1redark; 02.08.2016 в 22:18. Причина: Добавлено сообщение
f1redark вне форума Ответить с цитированием