Как использовать nice_agent_recv в libnice?

Я учусь использовать libnice. В примере библиотеки ( https://github.com/libnice/libnice/blob/master/examples/simple-example.c) они используют nice_agent_attach_recv(agent, stream_id, 1, g_main_loop_get_context (gloop), cb_nice_recv, NULL); Проблема в том, что сообщения могут быть получены только внутри функции cb_nice_recvэта функция вызывается каждый раз, когда принимается пакет данных. Но я хотел бы получать сообщения, вызывая функцию, которая будет возвращать сообщение, как recv при использовании сокетов по умолчанию.

Я пытался использовать nice_agent_recv () когда связь с кандидатом была установлена, но безуспешно, только cb_nice_recv получает данные. Кроме того, пример кода из библиотеки говорит, что вы не можете удалить nice_agent_attach_recv(agent, stream_id, 1,g_main_loop_get_context (gloop), cb_nice_recv, NULL); потому что если бы вы сделали, кандидаты будут собраны.

В файле simple-example.c libnice вы получаете сообщения в одной функции, а в другой - отправляете ответы, поэтому сложно отправлять ответы в зависимости от того, что было получено.

Я надеюсь, что кто-то может помочь, спасибо.

0 ответов

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