WebRTC IceGatheringState никогда не «завершен»Javascript

Форум по Javascript
Anonymous
WebRTC IceGatheringState никогда не «завершен»

Сообщение Anonymous »

Ниже я приложил минимальный пример RTCPeerConnection, IceGatheringState которого регистрируется через событие onicegatheringstatechange.

Свойство только для чтения IceGatheringState интерфейса RTCPeerConnection возвращает строку, описывающую общее состояние сбора ICE для этого соединения. Это позволяет, например, определить, когда завершился сбор кандидатов ICE.
(...)
Возможные значения: Одноранговое соединение было только что создано и еще не подключено к сети.

Код: Выделить всё

gathering
Агент ICE находится в процессе сбора кандидатов для подключения.

Код: Выделить всё

complete
Агент ICE завершил сбор кандидатов. Если произойдет что-то, требующее сбора новых кандидатов, например добавление нового интерфейса или добавление нового ICE-сервера, штат вернется к сбору для сбора этих кандидатов.

Источник: https://developer.mozilla.org/en-US/doc ... eringState
Итак, я ожидаю, что по прошествии некоторого времени чтобы просмотреть все три состояния в следующем порядке:

Код: Выделить всё

new
gathering
complete
Однако завершения никогда не происходит, сколько бы я ни ждал.

Код: Выделить всё




WebRTC test


Gather

async function gather() {
const connection = new RTCPeerConnection()
connection.onicegatheringstatechange = function() {
document.body.innerHTML += "
" + connection.iceGatheringState
}
connection.onicegatheringstatechange()
const channel = connection.createDataChannel("mychannel")
const offer = await connection.createOffer()
await connection.setLocalDescription(offer)
}





Подробнее здесь: https://stackoverflow.com/questions/798 ... -completed

Вернуться в «Javascript»