2014-09-22 3 views
7

WebRTC를 사용 중이며 모든 브라우저에서 지원되지 않습니다. 그러나 크롬과 파이어 폭스는 특정 변수에 대한 올바른 접두어가있는 한 최신 버전을 지원합니다 (최신 버전에서는 최신 버전이 설치되어 있습니다). 예를 들어, 나는 크로스 브라우저 지원의 PeerConnection에 대해 다음 한 : 그것은 크로스 브라우저를 지원해야한다는Chrome에서만 조작 된 RTCC 구성

var PeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; 

을 지금, 나는 다음과 같은 코드가 있습니다

var servers = { 
iceservers: [ 
    {url: "stun:23.21.150.121"}, 
    {url: "stun:stun.1.google.com:19302"} 
    ] 
}; 
var pc = PeerConnection(servers); 

을하지만 크롬에서 가져 마지막 줄의 오류 (var pc = PeerConnection(servers);). 오류 :

Failed to construct 'RTCPeerConnection': Malformed RTCConfiguration"} 

분명히 Chrome은 PeerConnection 선언의 구성 매개 변수를 좋아하지 않습니다. 그러나 제 질문은, 왜이 오류가 발생하며 Chrome에서만 어떻게 발생합니까? (파이어 폭스는 잘 작동합니다)

답변

6

글쎄, 솔루션은 실제로 조용한 간단합니다. servers 개체는 낙타의 경우 iceServers으로 만들어야합니다. 또한 연결을 만들 때 new 키워드를 잊어 버렸지 만 질문에 오타가있을 수 있습니다. 이처럼

:

var servers = { 
iceServers: [ 
    {url: "stun:23.21.150.121"}, 
    {url: "stun:stun.1.google.com:19302"} 
    ] 
}; 
var pc = new PeerConnection(servers); 

모두 소문자와 낙타의 경우 작업 파이어 폭스에서 잘 둘. 따라서 Chrome을 변경하면 Chrome에서 작동하는 방식이 변경되지 않지만 Chrome에서 작동하려면 낙타의 경우 여야합니다.

+1

나는 그것이 단순 할 것임을 알았다. 그렇다면 새로운 키워드는 당신이 생각한대로 제 질문에서 오타였습니다. 고마워요! – chRyNaN

2

Ben의 답변을 참조하십시오. JavaScript는 대소 문자를 구분하며 'iceServers'는 mediacapture spec의 올바른 철자입니다.

나는 모든 소문자 'iceservers'가 Firefox에서 실제로 작동하지 않는다는 점을 명확히하고 싶습니다. STUN 서버가 무시된다는 것입니다. Firefox는 제공된 STUN 서버가 보이지 않을 때 기본 STUN 서버를 사용하므로 작동하는 것처럼 보이지만 사용자가 생각하는 STUN 서버는 사용하지 않습니다.

+0

Mozilla의 개발자 네트워크에 따르면, 그들은 기절 한 서버에 대해 소문자를 지원합니다. https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC/WebRTC_basics를 확인하십시오. – chRyNaN

+0

@AndroidStudent 나는 그것이 어디에 있는지는 알 수 없습니다. IceServers (대문자 'S') [여기] (https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC)는 'iceservers'가있는 유일한 언급입니다./WebRTC_basics # 서버). 어쨌든 나는 [소급] (http://hg.mozilla.org/mozilla-central/annotate/68f76e3c5787/dom/webidl/RTCConfiguration.webidl) 때문에 모든 소문자 'iceservers'를 허용하지 않는다는 점에 긍정적이다. # 17)은 이렇게 말합니다. – jib

+0

답을 잘못 읽었습니다. 전적으로 동의합니다. 입력을 주셔서 감사합니다 – chRyNaN