diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:17 -0500 |
commit | da78a9e329e272dedb2400b79a3bdeebff387d47 (patch) | |
tree | e6ef8aa7c43556f55ddfe031a01cf0a8fa271bfe /files/ko/web/api/rtcicecandidate | |
parent | 1109132f09d75da9a28b649c7677bb6ce07c40c0 (diff) | |
download | translated-content-da78a9e329e272dedb2400b79a3bdeebff387d47.tar.gz translated-content-da78a9e329e272dedb2400b79a3bdeebff387d47.tar.bz2 translated-content-da78a9e329e272dedb2400b79a3bdeebff387d47.zip |
initial commit
Diffstat (limited to 'files/ko/web/api/rtcicecandidate')
-rw-r--r-- | files/ko/web/api/rtcicecandidate/candidate/index.html | 84 | ||||
-rw-r--r-- | files/ko/web/api/rtcicecandidate/index.html | 90 | ||||
-rw-r--r-- | files/ko/web/api/rtcicecandidate/tojson/index.html | 49 |
3 files changed, 223 insertions, 0 deletions
diff --git a/files/ko/web/api/rtcicecandidate/candidate/index.html b/files/ko/web/api/rtcicecandidate/candidate/index.html new file mode 100644 index 0000000000..e4d0f253a5 --- /dev/null +++ b/files/ko/web/api/rtcicecandidate/candidate/index.html @@ -0,0 +1,84 @@ +--- +title: RTCIceCandidate.candidate +slug: Web/API/RTCIceCandidate/candidate +translation_of: Web/API/RTCIceCandidate/candidate +--- +<div>{{APIRef("WebRTC")}}</div> + +<p><span class="seoSummary">{{domxref("RTCIceCandidate")}} 인터페이스에 대한 읽기 속성인 <code><strong>candidate</strong></code>는 candidate에 대해 자세히 설명해주는 {{domxref("DOMString")}}를 반환합니다. </span></p> + +<p><code>RTCIceCandidate</code>의 거의 모든 다른 속성들은 사실 이 문자열에서 가져와진 것입니다.</p> + +<p>이 속성은 {{domxref("RTCIceCandidate.RTCIceCandidate", "RTCIceCandidate()")}}를 사용해서 신규 candidate 객체를 구성 할 때, {{domxref("RTCIceCandidateInit.candidate", "candidate")}} 속성의 값을 지정해서 설정 할 수 있습니다.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">var <em>candidate</em> = <em>RTCIceCandidate</em>.candidate;</pre> + +<h3 id="값">값</h3> + +<p>반환되는 {{domxref("DOMString")}} 값은 {{Glossary("SDP")}}의 속성인 <code>"candidate"</code>에서 직접 가져와진 candidate의 속성에 대해 알려줍니다. candidate 문자열은 해당 candidate에 대한 네트워크 연결 정보를 명시합니다. <code>candidate</code>가 빈 문자열 (<code>""</code>)이라면, 더 이상 남아있는 candidate가 없다는 뜻입니다. 빈 문자열은 "candidate 종료" 표시자로도 알려져있습니다.</p> + +<p>candidate 문자열에 대한 구문은 {{RFC(5245, "", 15.1)}}에 설명되어있습니다. </p> + +<pre>a=candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host</pre> + +<p>위와 같은 a-line (속성 line)에서 해당하는 <code>candidate </code>문자열의 값은 <code>"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host"</code>가 됩니다.</p> + +<p>{{Glossary("user agent")}}는 항상 가장 높거나 같은 {{domxref("RTCIceCandidate.priority", "priority")}}를 가진 candidate를 선호합니다. 위의 예시에서, 우선 순위는 <code>2043278322</code> 입니다. 속성은 단일 스페이스로 특정한 순서가 있습니다. 위의 candidate에 대한 전체 속성 리스트는 다음과 같습니다:</p> + +<ul> + <li>{{domxref("RTCIceCandidate.foundation", "foundation")}} = 4234997325</li> + <li>{{domxref("RTCIceCandidate.component", "component")}} = <code>"rtp"</code> (<code>"rtp"</code>는 1이 문자열에 있고, <code>"rtcp"</code>는 2가 문자열에 있습니다.)</li> + <li>{{domxref("RTCIceCandidate.protocol", "protocol")}} = <code>"udp"</code></li> + <li>{{domxref("RTCIceCandidate.priority", "priority")}} = 2043278322</li> + <li>{{domxref("RTCIceCandidate.ip", "ip")}} = <code>"192.168.0.56"</code></li> + <li>{{domxref("RTCIceCandidate.port", "port")}} = 44323</li> + <li>{{domxref("RTCIceCandidate.type", "type")}} = <code>"host"</code></li> +</ul> + +<h2 id="예시">예시</h2> + +<p>아래 예제에서는 시그널링 과정에서 원격 유저에게서 수신 받은 ICE candidate 정보를 가진 SDP 문자열을 입력으로 받는 함수입니다. </p> + +<pre class="brush: js">function handleNewIceCandidate(candidateSDP) { + var candidateObj = new RTCIceCandidate(candidateSDP); + + myPeerConnection.addIceCandidate(candidateObj).catch({ + /* handle the error thrown by addIceCandidate() */ + }); +}</pre> + +<p><code>handleNewIceCandidate()</code> 함수는 수신 받은 candidate의 SDP 문자를 {{domxref("RTCIceCandidate.RTCIceCandidate", "RTCIceCandidate()")}}에 보내고, candidate를 알려주는 {{domxref("RTCIceCanddiate")}} 객체를 반환 받습니다.</p> + +<p>그 후, 신규 candidatesms {{domxref("RTCPeerConnection.addIceCandidate()")}}에 전달되서 candidate의 리스트에 추가해서 WebRTC가 연결 설정으로 사용 하도록 고려합니다. </p> + +<p>위 예제는 더 간단하게 표현 될 수 있습니다. ECMAScript 2016의 고급 기능들을 사용해서 아래와 같이 나타낼 수 있습니다:</p> + +<pre class="brush: js">let handleNewIceCandidate = candidateSDP => + myPeerConnection.addIceCandidate(new RTCIceCandidate(candidateSDP));</pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">명세</th> + <th scope="col">상태</th> + <th scope="col">코멘트</th> + </tr> + <tr> + <td>{{SpecName('WebRTC 1.0', '#dom-rtcicecandidate-candidate', 'RTCIceCandidate.candidate')}}</td> + <td>{{Spec2('WebRTC 1.0')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<div> + + +<p>{{Compat("api.RTCIceCandidate.candidate")}}</p> +</div> diff --git a/files/ko/web/api/rtcicecandidate/index.html b/files/ko/web/api/rtcicecandidate/index.html new file mode 100644 index 0000000000..fe5e3bc9ce --- /dev/null +++ b/files/ko/web/api/rtcicecandidate/index.html @@ -0,0 +1,90 @@ +--- +title: RTCIceCandidate +slug: Web/API/RTCIceCandidate +translation_of: Web/API/RTCIceCandidate +--- +<div>{{APIRef("WebRTC")}}</div> + +<p><span class="seoSummary"><strong><code>RTCIceCandidate</code></strong> 인터페이스는 <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC API</a>의 한 종류로서, {{domxref("RTCPeerConnection")}}을 구축 할 때 사용되기도하는 Internet Connectivity Establishment ({{Glossary("ICE")}})의 후보군 (candidate)를 말합니다.</span></p> + +<p>하나의 ICE candidate는 WebRTC가 원격 장치와 통신을 하기 위해 요구되는 프로토콜과 라우팅에 대해 알려줍니다. WebRTC 피어 연결을 처음 시작하게되면, 일반적으로 여러개의 candiate들이 연결의 각 end에 의해 만들어집니다. 그리고 이 과정은 로컬 유저와 원격 유저가 연결을 위해 최고의 방법을 서로의 동의하에 선택하기 전까지 계속 됩니다. 이후에 WebRTC가 선택한 candidate를 사용해서 연결을 시도하게됩니다. </p> + +<p>ICE 과정이 어떻게 동작하는지 자세히 알고 싶다면, <a href="/en-US/docs/Web/API/WebRTC_API/Session_lifetime">Lifetime of a WebRTC session</a>을 확인해보십시오.이외에도 <a href="/en-US/docs/Web/API/WebRTC_API/Connectivity">WebRTC connectivity</a>에서는 유용한 추가 정보를 제공합니다.</p> + +<h2 id="생성자">생성자</h2> + +<dl> + <dt>{{domxref("RTCIceCandidate.RTCIceCandidate()","RTCIceCandidate()")}}</dt> + <dd>단일 ICE candidate를 나타내기 위해 RTCIceCandidate 객체를 생성합니다. 옵션으로 {{domxref("RTCIceCandidateInit")}} 딕셔너리에 존재하는 객체를 이용해 설정이 가능합니다. + <div class="note"><strong>Note:</strong> 이전 버전의 호환성을 위해서는, 생성자가 {{domxref("RTCIceCandidate.candidate", "candidate")}} 속성의 값을 가진 문자열을 {{domxref("RTCIceCandidateInit")}} 객체 대신에 입력 인자로 받습니다. 이는 <code>candidate</code>가 <code>RTCIceCandidateInit</code>보다 더 많은 정보를 가지고 있기 때문입니다.</div> + </dd> +</dl> + +<h2 id="속성">속성</h2> + +<dl> + <dt>{{domxref("RTCIceCandidate.candidate", "candidate")}} {{readonlyInline}}</dt> + <dd>연결성 확인을 위해 사용 될 수 있는 candidate에 대한 전달 주소를 나타내는 {{domxref("DOMString")}}입니다. 이 주소의 형식은 {{RFC(5245)}}에 정의된바와 같이 <code>candidate-attribute</code> 입니다. <code>RTCIceCandidate</code>가 "마지막 candidate"를 알려주면, 이 문자열은 빈 문자열 (<code>""</code>)이 됩니다.</dd> + <dt>{{domxref("RTCIceCandidate.component", "component")}} {{ReadOnlyInline}}</dt> + <dd>ICE candidate가 RTP (<code>rtp</code>) 인지 RTCP (<code>rtcp</code>)인지 알려주는 {{domxref("DOMString")}}입니다. 이 값들은 <code>candidate </code>라인 문자열에 있는 <code>"component-id"</code> 필드에서 가져와집니다. 허용되는 값은 {{domxref("RTCIceComponent")}} enum 타입에 정리되어있습니다.</dd> + <dt>{{domxref("RTCIceCandidate.foundation", "foundation")}} {{readonlyInline}}</dt> + <dd>같은 유형의 candidate와 동일한 식별자를 가진 {{domxref("DOMString")}}를 반환합니다. {{domxref("DOMString")}}는 동일한 베이스 (ICE 에이전트가 candidate를 보낸 주소)를 공유하고, 동일한 {{Glossary("STUN")}}서버에서 가져와집니다. 이 속성을 사용해서 {{domxref("RTCIceTransport")}}객체에 나타나는 candidate의 우선 순위를 매기고 연관을 시키면서 ICE 성능을 최적화 할 수 있습니다. </dd> + <dt>{{domxref("RTCIceCandidate.ip", "ip")}} {{readonlyInline}}</dt> + <dd>candidate의 IP 주소를 가지고 있는 {{domxref("DOMString")}}입니다.</dd> + <dt>{{domxref("RTCIceCandidate.port", "port")}} {{readonlyInline}}</dt> + <dd>candidate의 포트 넘버를 알려주는 정수 값 입니다.</dd> + <dt>{{domxref("RTCIceCandidate.priority", "priority")}} {{readonlyInline}}</dt> + <dd>candidate의 우선순위를 알려주는 long 정수 값 입니다.</dd> + <dt>{{domxref("RTCIceCandidate.protocol", "protocol")}} {{readonlyInline}}</dt> + <dd>candidate의 프로토콜이 <code>"tcp"</code>인지 <code>"udp"</code>인지 알려주는 문자열입니다. 이 문자열은 <code>RTCIceProtocol</code> enum 타입 중 하나 입니다.</dd> + <dt>{{domxref("RTCIceCandidate.relatedAddress", "relatedAddress")}} {{readonlyInline}}</dt> + <dd>candidate가 다른 candidate, 즉 호스트 candidate에서 가져와졌다면, <code>relatedAddress</code>는 호스트 candidate의 IP 주소를 포함하는 {{domxref("DOMString")}}입니다. 호스트 candidate에서 이 값은 <code>null </code>입니다.</dd> + <dt>{{domxref("RTCIceCandidate.relatedPort", "relatedPort")}} {{readonlyInline}}</dt> + <dd>candidate가 relay 혹은 reflexive candidate로 부터 가져와진 경우, <code>relatedPort</code>는 해당하는 호스트 candidate의 포트 넘버를 가르킵니다. 마찬가지로, 호스트 candidate에서 이 값은 <code>null </code>입니다.</dd> + <dt>{{domxref("RTCIceCandidate.sdpMid", "sdpMid")}} {{readonlyInline}}</dt> + <dd>candidate의 미디어 스트림 식별 태그를 정의하는 {{domxref("DOMString")}}입니다. 여기서 식별 태그는 candidate와 연관이 있는 컴포넌트안의 미디어 스트림을 유일하게 식별합니다. candidate와 관련이 있는 미디어 스트림이 존재하지 않으면, 이 값은 <code>null </code>입니다.</dd> + <dt>{{domxref("RTCIceCandidate.sdpMLineIndex", "sdpMLineIndex")}} {{readonlyInline}}</dt> + <dd>이 값이 <code>null</code>이 아니라면, <code>sdpMLineIndex</code>는 candidate와 연관 된 {{Glossary("SDP")}}의 미디어 설명에 대한, 0을 기준으로 하는 색인 번호를 알려줍니다 (<a href="https://tools.ietf.org/html/rfc4566">RFC 4566</a>에 정의되어 있습니다.). </dd> + <dt>{{domxref("RTCIceCandidate.tcpType", "tcpType")}} {{readonlyInline}}</dt> + <dd><code>protocol</code>이 <code>"tcp"</code>라면,<code>tcpType</code>은 TCP candidate의 타입을 알려줍니다. 이외에는 <code>tcpType</code>은 <code>null </code>입니다.</dd> + <dt>{{domxref("RTCIceCandidate.type", "type")}} {{readonlyInline}}</dt> + <dd>{{domxref("RTCIceCandidateType")}} enum 타입에 존재하는 문자열에 속하는 candidate의 타입을 알려주는 {{domxref("DOMString")}}입니다. </dd> + <dt>{{domxref("RTCIceCandidate.usernameFragment", "usernameFragment")}} {{ReadOnlyInline}}</dt> + <dd>ICE가 무작위로 생성된 비밀번호 (<code>"ice-pwd"</code>) 와 함께 메세지의 무결성을 확인하기 위해 사용하는 무작위로 생성된 유저 이름 조각 (<code>"ice-ufrag"</code>)을 가지고 있는 {{domxref("DOMString")}}입니다. 이 문자열을 사용해서 ICE 생성의 버전을 확인 할 수 있습니다. ICE가 재시작하더라도, 같은 버전의 ICE 프로세스는 동일한 <code>usernameFragment</code>를 가지게 됩니다.</dd> +</dl> + +<h2 id="메소드">메소드</h2> + +<dl> + <dt>{{domxref("RTCIceCandidate.toJSON", "toJSON()")}}</dt> + <dd><code>toJSON()</code>은 <code>RTCIceCandidate</code>의 현재 저장된 설정을 담은 {{Glossary("JSON")}} 표현식을 {{domxref("RTCIceCandidateInit")}} 객체의 형태로 변환시킨 {{domxref("DOMString")}}를 반환합니다.</dd> +</dl> + +<h2 id="예시">예시</h2> + +<p>예시를 보려면, 전체 과정을 설명해주는 <a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Signaling and video calling</a>문서를 확인하십시오.</p> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">명세</th> + <th scope="col">상태</th> + <th scope="col">코멘트</th> + </tr> + <tr> + <td>{{SpecName('WebRTC 1.0', '#rtcicecandidate-interface', 'RTCIceCandidate')}}</td> + <td>{{Spec2('WebRTC 1.0')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<div> + + +<p>{{Compat("api.RTCIceCandidate")}}</p> +</div> diff --git a/files/ko/web/api/rtcicecandidate/tojson/index.html b/files/ko/web/api/rtcicecandidate/tojson/index.html new file mode 100644 index 0000000000..5b222fc286 --- /dev/null +++ b/files/ko/web/api/rtcicecandidate/tojson/index.html @@ -0,0 +1,49 @@ +--- +title: RTCIceCandidate. toJSON() +slug: Web/API/RTCIceCandidate/toJSON +translation_of: Web/API/RTCIceCandidate/toJSON +--- +<div>{{APIRef("WebRTC")}}</div> + +<p><span class="seoSummary">{{domxref("RTCIceCandidate")}} 메소드인 <code><strong>toJSON()</strong></code>은 JSON 형식으로 호출된 RTCIceCandidate를 {{domxref("RTCIceCandidateInit")}} 객체 형식으로 변환합니다. .</span></p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox"><em>json</em> = RTC<em>IceCandidate</em>.toJSON();</pre> + +<h3 id="반환_값">반환 값</h3> + +<p>{{domxref("RTCIceCandidateInit")}} 딕셔너리에 상응하는 객체로, <code>RTCIceCandidate</code> 객체의 해당하는 값으로 설정됩니다.</p> + +<p>반환된 객체에 대한 문자열화된 버전의 객체는 {{jsxref("JSON.stringify", "stringify()")}}를 호출해서 가져올 수 있습니다. 아래의 {{anch("Example", "예시")}}를 참조하십시오.</p> + +<h2 id="예시">예시</h2> + +<p>아래의 샘플 코드는 <code>candidate</code> 변수의 <code>RTCIceCandidate</code>를 나타내는 JSON 문자열을 가져옵니다.</p> + +<pre class="brush: js">var jsonString = candidate.toJSON().stringify();</pre> + +<h2 id="명세">명세</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">명세</th> + <th scope="col">상태</th> + <th scope="col">코멘트</th> + </tr> + <tr> + <td>{{SpecName('WebRTC 1.0', '#dom-rtcicecandidate-tojson', 'RTCIceCandidate.toJSON()')}}</td> + <td>{{Spec2('WebRTC 1.0')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="브라우저_호환성">브라우저 호환성</h2> + +<div> + + +<p>{{Compat("api.RTCIceCandidate.toJSON")}}</p> +</div> |