RTCPeerConnection()

You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!

RTCPeerConnection() 생성자는 로컬 기기와 원격 피어 간의 연결을 나타내는 RTCPeerConnection 객체를 새로 만들어 반환합니다.

문법

pc = new RTCPeerConnection([configuration]);

매개변수

configuration Optional
RTCConfiguration dictionary는 신규 연결을 설정하는 옵션들을 제공합니다.

RTCConfiguration dictionary

bundlePolicy Optional
원격 피어가 SDP BUNDLE standard에 호환이 불가능할 때, 어떻게 candidate의 네고시에이션을 처리 할 것인지를 정의합니다. 이 옵션은 무조건 enum RTCBundlePolicy의 값들 중 하나여야만 합니다. 만약 이 값이 딕셔너리에 없으면, "balanced" 으로 지정됩니다.
certificates Optional
인증을 위해 연결에서 사용되는 RTCCertificate 타입의 객체의 Array 입니다. 이 속성이 정의되어있지 않으면, 각 RTCPeerConnection 인스턴스별로 자동으로 인증서 모음이 생성됩니다. 하나의 연결에는 오직 한개의 인증서만 사용이 되지만, 여러 알고리즘들에 대해 다수의 인증서를 제공하는 방법으로 어떤 상황에서 우연치 않게 연결이 성공되는 경우를 줄일 수 있습니다. 아래는 Using certificates에 대한 추가 정보입니다.
이 설정 옵션은 한 번 정의되면 변경이 불가능합니다. 한 번 인증서가 지정되면, 그 후 발생하는 RTCPeerConnection.setConfiguration() 호출에서 이 속성이 무시됩니다.
iceCandidatePoolSize Optional
미리 가져와진 ICE candidate pool의 크기를 정의하는 서명되지 않은 16-bit 정수 값. 기본 값은 0으로 candidate를 미리 가져오는 것이 발생하지 않음을 뜻함. 연결 시도를 시작하기전에 ICE 에이전트가 ICE candidates를 미리 가져오게 허용하면, candidate들은  RTCPeerConnection.setLocalDescription() 호출로 이미 확인이 가능하게 되고, 이로 인해 몇몇 상황에서 연결이 더 빠르게 성립됩니다.
ICE candidate pool의 크기 변경은 ICE 수집을 시작하게 만들 수 있습니다.
iceServers Optional
ICE 에이전트에 의해 이용될 수 있는 하나의 서버를 설명하는 RTCIceServer 객체의 배열. 일반적으로 STUN 혹은 TURN 서버들입니다. 이 옵션이 정의가 안되어있으면, ICE 에이전트는 자체 ICE 서버를 선택하여 사용 할 수 있습니다. 자체 서버가 없다면, 연결은 사용 가능한 STUN 혹은 TURN 서버 없이 진행되고, 이는 로컬 피어와의 연결을 제한합니다. 
iceTransportPolicy Optional
현재 ICE 전송 정책; 이는 RTCIceTransportPolicy enum에 존재하는 값입니다. 이 옵션이 정의가 안되어있으면, "all"로 설정됩니다.
peerIdentity Optional
RTCPeerConnection에 대한 타겟 피어 identity를 명시하는 DOMString. 이 값이 지정되어있으면, RTCPeerConnection은 주어진 이름으로 인증이 성공하지 않는 이상 원격 피어와 연결하지 않습니다. (기본 값은 null 입니다.) 
rtcpMuxPolicy Optional
non-multiplexed RTCP를 지원하기 위해, ICE candidate를 수집 할 때 사용되는 RTCP mux 정책. 이 값은 RTCRtcpMuxPolicy enum.에 존재하는 값입니다. 기본 값은 "require"입니다.

반환 값

configuration이 지정된 경우 그에 맞게 구성한, 그렇지 않은 경우 기본값 구성을 이용한 RTCPeerConnection 객체입니다.

사양

사양명 상태 설명
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCPeerConnection()' in that specification.
Candidate Recommendation 초기 선언

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
RTCPeerConnection() constructorChrome Full support 23
Notes
Full support 23
Notes
Notes Before Chrome 63 the default value for the RTCConfiguration.rtcpMuxPolicy parameter was "negotiate"
Edge Full support YesFirefox Full support 22IE No support NoOpera Full support 43
Notes
Full support 43
Notes
Notes Promise-based version.
No support 37 — 43
Safari ? WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Before Chrome 63 the default value for the RTCConfiguration.rtcpMuxPolicy parameter was "negotiate"
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Before Chrome 63 the default value for the RTCConfiguration.rtcpMuxPolicy parameter was "negotiate"
Firefox Android Full support 44Opera Android Full support 43
Notes
Full support 43
Notes
Notes Promise-based version.
No support 37 — 43
Safari iOS ? Samsung Internet Android Full support 6.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.

참고