Как использовать 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 вы получаете сообщения в одной функции, а в другой - отправляете ответы, поэтому сложно отправлять ответы в зависимости от того, что было получено.
Я надеюсь, что кто-то может помочь, спасибо.