Обновить
4K+
3

Пользователь

5
Рейтинг
Отправить сообщение

вы обходом дискорд пользуетесь, и по 2 раза на день обновляетесь, более того обходы тормозят трафик и снижают fps/ так, что в нашем лесу мы куда более продвинулись ваших гор!

В целом согласен: дисковый ввод-вывод вообще не должен находиться в горячем аудиопотоке. Асинхронный writer с ограниченной очередью был бы наиболее чистым решением: если очередь переполнена, теряем строку диагностики, а не голосовой кадр.

Но описанная в статье ошибка возникла не на Linux-сервере. Блокирующие std::ofstream::open, запись и std::endl выполнялись в Windows-клиенте непосредственно в аудиотракте. Мы сначала применили прагматичное исправление: оставили файл открытым, убрали постоянный flush, сократили частоту событий и стали писать пачками. Следующий правильный шаг здесь именно отдельный поток журналирования с bounded queue, а не io_uring.

Серверный координатор написан на Go. Сетевой ввод-вывод там проходит через netpoller рантайма, который на Linux использует epoll, поэтому напрямую работать с io_uring нам пока нет необходимости.

И небольшое уточнение: POSIX AIO в Linux всё-таки доступен через glibc, хотя его реализация основана на пользовательских потоках, имеет ограничения и действительно не всегда даёт то, чего ждут от полноценного kernel AIO. Спасибо за замечание: в статье стоило чётче разделить клиентский файловый I/O и серверный сетевой тракт.

Да, Stoat можно было использовать, и это вполне нормальный вариант. Особенно плюс за открытый код, самостоятельное размещение и Linux.

Но наша задача была немного уже: голосовые комнаты без регистрации и почты, быстрый вход команды, PTT, игровой оверлей, одинаковая работа Windows, Android и браузера, персональная громкость и собственная настройка передачи голоса. Плюс нам был интересен сам путь разработки продукта под нашу команду, а не только получение готового чата.

У self-hosted Stoat тоже есть нюанс: в официальной документации указано, что сейчас не все официальные клиенты полноценно поддерживают сторонние серверы, лучше всего работает веб-клиент/PWA. Но проект интересный, спасибо, изучим его внимательнее.

По СОРМ замечание справедливое. Бесплатность сама по себе не отменяет возможных требований законодательства. Мы не собираемся делать вид, что этого вопроса нет: перед масштабированием или коммерциализацией обязательно разберём правовой режим с профильными специалистами. Пока БОЛТУН остаётся бесплатным развивающимся проектом. Linux у нас тоже в планах.

подтверждаю, схема самая рабочая

а я купил 3 аккаунта по 20баксов, по объему токенов выходит тоже что и один за 200...значит я сэкономил еще больше)))))

Информация

В рейтинге
1 275-й
Зарегистрирован
Активность

Специализация

Фулстек разработчик, Разработчик мобильных приложений
Стажёр
Управление проектами