Реализована ли реализация Safari RTCDataChannel полностью? - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь получить строку для передачи из одного окна браузера в другое через RTCDataConnection.

Существует множество примеров этой работы, например здесь: https://gitlab.com/lesmana/webrtc-without-signaling-server

Они работают довольно хорошо в большинстве браузеров, однако, в (по крайней мере, в настольной версии) Safari 12, попытка в конечном итоге соединиться приводит к «неудачному» сообщению, сгенерированному в состоянии соединения после предложения / ответа назад и четвертогосказано и сделано.

Добавление WebRTC adapter.js ничего не исправляет.

Но, кроме того, кажется, что каждый пример или учебник, которые якобы демонстрируют RTCDataChannel связь ...перерывы в Safari.

Это должно работать?Я не могу найти соответствующие вопросы в bugs.webkit.org .

1 Ответ

3 голосов
/ 15 июня 2019

Утверждения о том, что WebRTC можно использовать без сервера сигнализации, следует рассматривать с некоторой долей соли в целом. Safari ведет себя немного иначе, когда используется без getUserMedia, чтобы избежать утечки IP-адресов.

В этом случае вы обмениваетесь pc.localDescription.sdp с помощью copy-paste. Этот SDP не включает кандидатов в локальные хосты (даже если вы получаете их в событии onicecandidate). Я подал ошибку webkit .

Если вы хотите обойти это в то же время, обратите внимание на любого кандидата с 'typ host' здесь и добавьте его здесь (при этом убедитесь, что sdp все еще действителен и содержит завершающий перевод новой строки и т. д.), то же самое для ответчика.

...