Я разрабатываю приложение, которое отправляет данные по UDP с помощью класса AsyncUDPSocket другому клиенту на Mac и Windows. Очень важно, чтобы пакеты приходили мгновенно.
Проблема в том, что каждый ок. 1000 пакетов Я получаю задержку около 2 секунд при получении пакетов. Задержка в 100-200 мс будет в порядке, но 2 секунды приводят к ухудшению работы пользователя
У меня связь UDP в отдельном потоке, поэтому он мало зависит от взаимодействия пользователя с пользовательским интерфейсом и тому подобным. Я уже пытался отправлять пакеты быстрее, медленнее, пакеты разных размеров: задержка остается. Пробовал использовать TCP вместо UDP - тот же результат :(
Похоже, что это не происходит в Windows Cliets.
Может быть, в MacOS есть какой-то системный буфер, который нужно очищать каждый раз, когда у него есть N пакетов или N байтов данных ???
Кто-нибудь знает, как я могу предотвратить задержку?