Новая версия metaRTC реконструирует ICE для полной совместимости с протоколом ICE.

обзор

MetaRTC поддерживает P2P. ICE не идеален, старая версия реализует только оглушение и поворот, отсутствие реализации интерактивного соединения, новая версия реконструирует часть ICE, реализует интерактивное соединение и полностью совместима со спецификациями ICE-FULL/ICE_LITE.

Процесс metaRTC ICE

Собрать адреса кандидатов (Кандидат)

  1. Перед общением соберите IP-адреса и номера портов нескольких локальных сетевых карт (canidate).
  2. Соберите кандидатов на оглушение и соответствующие общедоступные IP-адреса и номера портов.
  3. Посетите сервер TURN, чтобы получить всех кандидатов на ретрансляцию, общедоступный IP-адрес и порт.
  4. Соберите кандидатов webrtc tcp
  5. Соберите кандидатов на ретрансляцию TURN для TCP-соединений.

Выполнив описанные выше шаги, вы сможете узнать, к какой сетевой карте принадлежит кандидат, есть ли NAT и является ли она ретранслятором. После сбора кандидатов вам необходимо назначить приоритеты этим кандидатам. Вообще говоря, кандидат очереди имеет самый низкий приоритет.

Многие маршруты не дружат с udp.Когда udp блокируется маршрутом, metaRTC ICE разумно переключится на webrtc tcp или развернет соединение tcp.

Адрес кандидата на обмен

Обмен сигналами кандидатов через MQTT/WEBSOCKET и т. д., а также создание локальной очереди кандидатов и удаленной очереди кандидатов.

обнаружение соединения

Локальный кандидат и удаленный кандидат объединяются в пары для обнаружения многогруппового соединения.После того, как обнаружение соединения завершено, доступная комбинация соединений используется для начала связи через webrtc.

Интерфейс обратного вызова metaRTC ICE

typedef struct{
	void* context;
	void (*onIceStateChange)(void* context,int32_t uid,YangIceCandidateState iceState);
	void (*onConnectionStateChange)(void* context, int32_t uid,YangRtcConnectionState connectionState);
	void (*onIceCandidate)(void* context, int32_t uid,char* sdp);
}YangIceCallback;

Guess you like

Origin blog.csdn.net/m0_56595685/article/details/130052062