Всем доброго времени суток, дорогие программисты. Сижу, ломаю голову над тем, как реализовать серверный тик. У меня есть подключенные на сервер 1к клиентов. У всех есть поток на чтение от клиента. И метод на отправку пакетов. У каждого клиента есть свой Stack сборщик пакетов. Все запросы передвижения, или иные действия которые должны обрабатываться как на сервере и на клиенте хранятся временно там. Этот стек пополняется от запросов клиента. Клиент делает запрос на атаку монстра. Сервер обрабатывает его. Инициализирует бой и отсылает уже результат в Stack сборщик для ожидания отправки всем клиентам. (Те, которые видны по близости, но это не важно). Серверный тик, должен за 1 секунду отправить не больше 30 пакетов от всех клиентов. Те которые отправились естественно очищаются в хранилища. И после секунды еще 30 пакетов. И т.д.
Мне предложили создать Timer, который вызывает обработчик события раз в секунду. В этом обработчике уже иметь ссылку на всех клиентов и отправлять все пакеты. Я не понимаю как можно сделать чтобы он успел или не успел взять всех в прогон клиентов и отправить или проигнорировать если хранилище пусто?
Помогите примером. Хотя бы простым. Чтобы я суть уловил. Спасибо