RTCPeerConnection.onicegatheringstatechange

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

RTCPeerConnection.onicegatheringstatechange속성은 icegatheringstatechange 이벤트가 RTCPeerConnection에 전달될 때 호출이되는 함수를 정의하는 EventHandler입니다. 이이벤트는 ICE 에이전트가 ICE candidate를 수집을 하는지의 여부를 알려주는 ICE 수집 상태가 변하면 발생합니다. 하지만, ICE 수집 상태를 모니터링 해야하는 특별한 이유가 없으면 이 이벤트를 감시 할 필요는 없습니다.

Syntax

RTCPeerConnection.onicegatheringstatechange = eventHandler;

icegatheringstatechange 이벤트를 가진 Event 객체를 단일 패러미터로 전달하는 함수를 제공합니다. RTCPeerConnection.iceGatheringState 속성의 값 확인을 통해 ICE 수집 상태를 새로운 값으로 변경이 가능합니다.

예시

아래의 예제는 iceGatheringState 속성 값이 변할 때마다 현재 값을 확인하고, 수집 상태 변화에 맞추어 표시될 상태 내용을 업데이트해서 유저에게 알려줍니다.  

이 상태는 <div> 요소에 텍스트로 표시됩니다.

<div id="iceStatus"></div>

예제에 사용된 이벤트 핸들러는 아래와 같습니다:

pc.onicegatheringstatechange = function() {
  let label = "Unknown";

  switch(pc.iceGatheringState) {
    case "new":
    case "complete":
      label = "Idle";
      break;
    case "gathering":
      label = "Determining route";
      break;
  }
  // HTML에서 id가 "iceStatus"인 요소에 label 값을 지정
  document.getElementById("iceStatus").innerHTML = label;
}

명세

명세 상태 코멘트
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCPeerConnection.onicegatheringstatechange' in that specification.
Candidate Recommendation Initial specification.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onicegatheringstatechangeChrome Full support 59Edge Full support 15Firefox Full support 22IE No support NoOpera Full support 43
Notes
Full support 43
Notes
Notes Promise-based version.
No support 37 — 43
Safari Full support 11WebView Android Full support 59Chrome Android Full support 59Firefox Android Full support 44Opera Android Full support 43
Notes
Full support 43
Notes
Notes Promise-based version.
No support 37 — 43
Safari iOS Full support YesSamsung Internet Android Full support 7.0

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

참조