TL;DR;
WebRTC는 P2P 통신을 가능하게 하지만 구축에는 서버가 필요합니다. 클라이언트 간 데이터 교환을 위해 '시그널링(Signaling)'이라고 부르는 통신 설정의 수행 과정이 필요하며 이 과정을 통해 네트워크 주소 변환(NAT) 및 방화벽에 대응하게 됩니다.
이 글은 시그널링(Signaling) 서비스를 어떻게 구축하는지와 STUN 및 TURN 서버를 사용하여 실제 커넥션 상의 문제점을 처리하는지. 그리고 WebRTC 어플리케이션이 어떻게 다자간 통신을 처리하는지와 VoIP 및 PSTN(일반 전화망)과 같은 서비스와 상호 작용하지에 대해 설명합니다.
이 글에서 설명하는 내용들
- 시그널링
- 시그널링(Signaling)이란 무엇인가
- 시그널링이 왜 WebRTC에서 정의되지 않았는가
- 실제 연결을 위해 RTCPeerConnection을 사용하는 방법
- 구현 및 Peer의 탐색 방법
- 시그널링 서비스의 구축 방법
- 서버에서 클라이언트로의 메세지 푸시
- 시그널링 확장 방법
- Node.js에서 Socket.io를 이용한 시그널링 서비스의 구축
- 시그널링을 위한 RTCDataChannel의 사용
- 기존 시그널링 서버들
- 시그널링에서의 보안
- NAT와 방화벽을 대응하기 위한 STUN과 TURN 서버에 대한 설명
- STUN - 외부에서 내부망에 대한 접근을 위한 방법을 제공
- TURN - UDP를 우선으로 Peer 간의 직접적인 통신을 설정하고 이를 사용할 수 없을 경우 TCP/IP를 기반으로 종단 간의 데이터를 릴레이하는 방법을 제공
- 기타 사항
- 다자간 WebRTC
- VoIP, 전화, 메시징의 활용 방법
댓글 없음:
댓글 쓰기