RTCPeerConnection: метод close()
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Метод close() интерфейса RTCPeerConnection закрывает текущее соединение сопоставленного узла.
Синтаксис
close()
Этот метод не принимает параметров и не возвращает значения.
Вызов этого метода завершает ICE-агент RTCPeerConnection, прекращая любые текущие операции ICE и активные потоки. Это также высвобождает все ресурсы, используемые ICE-агентом, включая разрешения TURN. Все объекты RTCRtpSender считаются остановленными после возврата (они могут еще быть в процессе остановки, но для всех целей они остановлены).
После возврата этого метода состояние сигнализации, возвращаемое RTCPeerConnection.signalingState, равно closed.
Убедитесь, что вы delete все ссылки на предыдущий RTCPeerConnection, прежде чем пытаться создать новый, который подключается к тому же удаленному узлу, так как отсутствие этого может привести к некоторым ошибкам в зависимости от браузера.
Пример
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel");
dc.onmessage = (event) => {
console.log(`received: ${event.data}`);
pc.close(); // We decided to close after the first received message
};
dc.onopen = () => {
console.log("datachannel open");
};
dc.onclose = () => {
console.log("datachannel close");
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
close |
23 | 15 | 22 | 15 | 11 | 25 | 24 | 14 | 11 | 1.5 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/close