Как получить libnice, чтобы остановить проверку кандидатов

Я использую libnice на собственном сервере C++, который пытается установить одноранговое соединение WebRTC с клиентским приложением веб-браузера. Используя libnice, сбор кандидатов проходит успешно, а обмен предложениями / ответами проходит успешно. Затем он переходит к этапу проверки, который также является успешным. В Wireshark я вижу, что обмен запросами и ответами STUN также успешен.

Однако проверка кандидатов продолжается и продолжается, постоянно отправляя / получая успешные запросы / ответы STUN.

Для меня это не очевидно, и пример кода не показывает, как на самом деле остановить проверки кандидатов, когда они были успешными. Я вызвал подпрограмму API: nice_agent_attach_recv() и зарегистрировал обратный вызов, но он, похоже, не срабатывает. И даже если бы это было так, подпись обратного вызова не дает мне никакой подсказки о том, как обрабатывать какие-либо данные.

Вопрос: какую обработку следует выполнить в обратном вызове ice_agent_attach_recv ()?

Спасибо, -Андрес

1 ответ

Решение

Не нужно выполнять обработку в обратном вызове. Вам нужно будет позвонить nice_agent_get_local_candidates() а затем продолжить с учетными данными и так далее. Здесь есть достойный пример в справочном руководстве.

Другие вопросы по тегам