Я запрограммировал в Lua плагин для игры, которая отправляет информацию об игроке через пакет UDP (512 байт) на удаленный сервер, который считывает данные из пакета и объединяет всю информацию об игроке в XML-файл (который затем может бытьпросматривается в сети всеми игроками, чтобы они могли видеть текущее состояние друг друга).
Я запрограммировал сервер на Java, используя DatagramSocket для обработки входящих пакетов, однако я заметил странное поведение.Через определенный промежуток времени DatagramSocket временно прекращает принимать соединения примерно на 10-12 секунд, а затем снова возобновляет нормальное поведение (исключений не видно, что я вижу).Определенно существует связь между тем, как часто клиенты отправляют пакеты, и тем, как быстро это происходит.Если я увеличу частоту обновления клиентов, DatagramSocket быстрее «выйдет из строя».
Возможно, стоит упомянуть, но каждый полученный пакет порождает поток, который обрабатывает данные в пакете.Я запускаю сервер на Linux, если это имеет значение!
Кто-нибудь знает, что может быть причиной такого поведения?
Эндрю