2016-08-12 2 views
1

iOS에서 화상 통화를 사용하고 싶습니다.이 작업을 위해 R & D를 수행했으며 Webrtc는 이에 대한 옵션입니다. WebRTC는 피어 - 투 - 피어 통신입니다. 그리고 데모 예제에는 서버 링크가 포함되어 있습니다. 내 질문은 WebRTC가 peer-to-peer 인 경우 왜이 서버를 사용하고 있는지입니다.WebRTC Working Process

답변

0

에서

있어 도움말 그것은 안전하지 않은 것, 당신은 보통 응용 프로그램에서 아웃 바운드 연결을 원하는 인바운드 연결은 서버 응용 프로그램에서 발견된다.
두 피어 모두 아웃 바운드 만 연결하면 어떻게 연결을 설정하기 때문에 피어 투 피어에 대한 문제입니까? 대답은 모든 피어가 신호 서버에 연결한다는 것입니다. 호출을 시작할 때, 피어는 다른 피어를 호출하려고하는 서버에 신호를 보냅니다. 그런 다음 서버는 수신 통화가 있음을 다른 피어에 알릴 수 있습니다.
아직 끝나지 않았지만 아직 연결되어 있지는 않지만 최소한 두 동료는 하나가 있음을 알고 있습니다. 두 동료는 현재 ICE 후보자를 생성하기 시작할 것입니다. ICE를 통해 동료들은 연결을 설정하는 경로를 찾습니다. 때로는 피어 투 피어를 연결할 수 있지만 대개 최소한 1 개의 방화벽이 필요합니다. 대부분 더 많은 시간이 소요됩니다. 이 경우 프로토콜은 STUN 서버를 시도합니다.이 서버는 방화벽에서 구멍을 뚫습니다 (기본적으로 안전한 방법으로 포트를 엽니 다). 여기에는 모든 피어 투 피어 연결의 90 %가 포함되지만 피어 - 투 - 피어 연결이 불가능한 경우도 있습니다. 이것은 TURN이 들어오는 곳입니다. 동료가 다른 피어에게 데이터를 릴레이하는 데 사용할 수있는 릴레이 서버입니다. 이 방법은 피어 투 피어가 아닙니다.

1

WebRTC은 여러 작업에 사용할 수 있지만 실시간 피어 - 투 - 피어 오디오 및 비디오 (즉, 멀티미디어) 통신이 주요 이점입니다. 웹 브라우저를 통해 다른 사람 (즉, 동료)과 통신하려면 각 사람의 웹 브라우저가 통신을 시작하고, 서로를 찾는 방법을 알고, 보안 및 방화벽 보호를 우회하고, 모든 멀티미디어 통신을 실시간으로 전송하는 것에 동의해야합니다.

브라우저 기반 피어 투 피어 통신과 관련된 가장 큰 문제 중 하나는 멀티미디어 데이터를 양방향으로 전송하기 위해 다른 컴퓨터의 웹 브라우저와 네트워크 소켓 연결을 찾아서 설정하는 방법을 아는 것입니다. 이것과 관련된 어려움은 처음에는 분명하게 보이지 않을 수도 있지만 더 자세히 설명하겠습니다.

웹 사이트를 방문 할 때 일반적으로 웹 주소를 입력하거나 링크를 클릭하여 페이지를 봅니다. 웹 페이지 (HTML, CSS 및 JavaScript)를 제공하여 응답하는 서버에 대한 요청이 이루어집니다. 여기에서 핵심은 DNS를 통해 알려지고 쉽게 찾을 수있는 서버에 HTTP 요청을하고 응답 (즉, 웹 페이지)을 가져 오는 것입니다.

이제 내 친애하는 엄마와 영상 채팅을하고 싶다고합시다. 우리 엄마 컴퓨터는 웹 서버가 아니야. 따라서 문제는 어떻게하면 오디오 및 비디오 데이터를 직접 보내고 오디오 및 비디오 데이터를 직접 그녀에게 보냈지 만 외부 서버를 거치지 않고도 요청을 어떻게 실제로 수행합니까? 응용 프로그램이 새로운 연결에 모든 시간을 듣기 위해 HERE