From da78a9e329e272dedb2400b79a3bdeebff387d47 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:17 -0500 Subject: initial commit --- .../icegatheringstatechange_event/index.html | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 files/ko/web/api/rtcpeerconnection/icegatheringstatechange_event/index.html (limited to 'files/ko/web/api/rtcpeerconnection/icegatheringstatechange_event') diff --git a/files/ko/web/api/rtcpeerconnection/icegatheringstatechange_event/index.html b/files/ko/web/api/rtcpeerconnection/icegatheringstatechange_event/index.html new file mode 100644 index 0000000000..ad713beeda --- /dev/null +++ b/files/ko/web/api/rtcpeerconnection/icegatheringstatechange_event/index.html @@ -0,0 +1,102 @@ +--- +title: 'RTCPeerConnection: icegatheringstatechange event' +slug: Web/API/RTCPeerConnection/icegatheringstatechange_event +translation_of: Web/API/RTCPeerConnection/icegatheringstatechange_event +--- +
{{APIRef("WebRTC")}}
+ +

icegatheringstatechange 이벤트는 {{Glossary("ICE")}} candidate 수집 과정이 변경되면,  {{domxref("RTCPeerConnection")}}의 이벤트 핸들러인 {{domxref("RTCPeerConnection.onicegatheringstatechange", "onicegatheringstatechange")}}로 전달됩니다. 이는 연결의 {{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}} 속성이 변경되었다는 것을 뜻합니다.

+ +

ICE가 처음 연결 candidate들을 수집하게되면 값이 new에서 gathering으로 바뀌게 되고, 이는 연결에 대한 candidate 설정들을 수집하는 과정 중에 있다는 뜻입니다. 값이 complete가 되면, RTCPeerConnection을 구성하는 모든 트랜스포트들이 ICE candidate 수집을 완료한 상태입니다.

+ + + + + + + + + + + + + + + + + + + + +
BubblesNo
취소가능여부No
인터페이스{{domxref("Event")}}
이벤트 핸들러{{domxref("RTCPeerConnection.onicegatheringstatechange", "onicegatheringstatechange")}}
+ +
+

참고: ICE candidate 수집 과정이 완료되었는지는 icegatheringstatechange이벤트와 {{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}의 값이 complete로 바뀌는 것을 확인하면 알 수 있습니다. 하지만, 더 쉬운 방법으로는 {{domxref("RTCPeerConnection.icecandidate_event", "icecandidate")}} 이벤트에 대한 핸들러가 {{domxref("RTCPeerConnectionIceEvent.candidate", "candidate")}} 속성의 값이 null로 변하는 시점을 체크하도록 할 수 있습니다. 이 속성이 null 값으로 바뀌었다는 것은 즉 모든 candidate 수집이 완료되었다는 뜻입니다. 

+
+ +

예시

+ +

아래 예제는 icegatheringstatechange 이벤트에대한 핸들러를 생성합니다.

+ +
pc.onicegatheringstatechange = ev => {
+  let connection = ev.target;
+
+  switch(connection.iceGatheringState) {
+    case "gathering":
+      /* candidate 수집 과정 시작 */
+      break;
+    case "complete":
+      /* candidate 수집 완료 */
+      break;
+  }
+}
+
+ +

아래처럼 {{domxref("EventTarget.addEventListener", "addEventListener()")}}을 사용해서 icegatheringstatechange 이벤트에 대한 변경을 감지하는 리스너를 추가 할 수 있습니다.

+ +
pc.addEventListener("icegatheringstatechange", ev => {
+  let connection = ev.target;
+
+  switch(connection.iceGatheringState) {
+    case "gathering":
+      /* candidate 수집 과정 시작 */
+      break;
+    case "complete":
+      /* candidate 수집 완료 */
+      break;
+  }
+}, false);
+ +

명세

+ + + + + + + + + + + + + + + + +
명세상태코멘트
{{SpecName('WebRTC 1.0', '#event-icegatheringstatechange', 'icecandidatestatechange')}}{{Spec2('WebRTC 1.0')}}Initial specification.
+ +

브라우저 호환성

+ + + +

{{Compat("api.RTCPeerConnection.icegatheringstatechange_event")}}

+ +

참조

+ + -- cgit v1.2.3-54-g00ecf