Показать сообщение отдельно
Старый 01.04.2015, 16:13   #10
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 190
Сказал Спасибо: 4
Имеет 42 спасибок в 40 сообщенях
ScythLab пока неопределено
По умолчанию

Цитата:
Сообщение от i_am_kisly Посмотреть сообщение
Мне кажется, что это lurkmore.to/Взаимоисключающие_параграфы
Если все пакеты la2 (без защит) равнозначны, то ответ на пакет становится в конец очереди. Но дальше ты пишешь, что ответ вставляется в начало очереди, а значит пакеты "ответов" имеют явный проритет. На лицо явное противоречие.
В клиенте ла2 только одна очередь пакетов для входящих данных, они принимаются в отдельном потоке и складываются в очередь. Дальше в главном потоке в общем цикле происходит несколько действий:
1) обработка принятых пакетов;
2) обработка действий пользователя;
3) просчет и отрисовка игрового мира.
При обработке входящих пакетов данные вытаскиваются из очереди (надеюсь теперь мы уяснили что это за очередь?) и обрабатываются, если пакет требует ответа, то идет моментальный ответ (грубо говоря идет вызов wsock32.send), и переходим к следующему пакету пока очередь не опустеет.
Какая последовательность работы вышеуказанных блоков я не знаю.
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием