RTCPeerConnection.close()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Experimental: 이 기능은 실험적인 기능입니다.
프로덕션 환경에서 사용하기 전에 브라우저 호환성 표를 주의 깊게 확인하세요.

RTCPeerConnection.close() 메소드로 피어 연결을 종료합니다.

Syntax

js
RTCPeerConnection.close();

이 메소드는 입력 패러미터가 없으며, 반환 값도 없습니다.

이 메소드를 호출하게되면, 모든 진행 중인 ICE 프로세싱 및 활성화된 스트림을 종료하고, RTCPeerConnection의 ICE 에이전트를 종료합니다. 이 방법으로 ICE 에이전트에 의해 사용되는 리소스들 (TURN 허가 포함) 을 해제시킵니다. 모든 RTCRtpSender 객체들은 이 메소드가 반환되면 정지됩니다. (아직 종료 중인 과정에 있을 수도 있습니다만, 사실상 정지됩니다.)

이 메소드가 반환되면, RTCPeerConnection.signalingState에 의해 반환된 signaling 상태가 closed로 됩니다.

같은 원격 유저와의 새로운 연결 생성을 시도하기전에 이전에 존재하던 RTCPeerConnection의 모든 참조 값들을 delete하십시오. 삭제되지 않은 참조 값들이 브라우저에서 오류를 초래 할 수 있습니다.

예시

js
var pc = new RTCPeerConnection();
var dc = pc.createDataChannel("my channel");

dc.onmessage = function (event) {
  console.log("received: " + event.data);
  pc.close(); // 첫 메세지를 받으면, 연결을 종료
};

dc.onopen = function () {
  console.log("datachannel open");
};

dc.onclose = function () {
  console.log("datachannel close");
};

명세

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-close

브라우저 호환성

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
close

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

참조