| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- https://ittrue.tistory.com/90
- 참고자료 https://velog.io/@imok-_/javascript-dom-bom-%ec%9d%b4%eb%9e%80
- https://developers.kakao.com/
- Today
- Total
쿠쿠더님의 블로그
webRTC란? 본문
여기서는 목차는없고 간단하게 webRTC에 대해서 설명할려고 합니다 전 글에서는 제가 프로젝트에서 WebRTC를 썼다 했는데 이게 빠지면 안될것 같아서 씁니다..ㅎㅎ
WebRTC란 ?
실시간 통신에 있어 아주 좋은 기술입니다.
일단 WebRTC는 Google의 개발들에 의해서 탄생한 기술입니다.
사용하는 유명한 서비스 : Google Meet, Discord, Zoom 있다.
다양한 플랫폼에서 가능한 실시간 커뮤니케이션 기술입니다.
화상 채팅 , 음성 통화, 파일 공유 등등 이 모든걸 별도의 프로그램 없이 웹 브라우저는 물론이고, 모바일 웹, 데스크탑 앱
에서도 사용할 수 있는 오픈소스 프로젝트이며 강력한 기술입니다.
더욱 신기한 점은 서버 없이 P2P(Peer To Peer)로 연결되어 데이터를 주고받을 수 있다는 점.
그리고 모든 주요 브라우저에서 일반 자바스크립트 API로 제공된다는 점입니다.
일단 주요 개념 및 용어를 설명해 드릴겠습니다
시그널링
아까 P2P로 연결하기 위해 중계 서버가 필요하다가 언급했습니다.
이 중계서버를 통해서 서로를 찾고 연결을 시작하는 과정을 바로 시그널링이라고 합니다.
비유하자면 시그널링의 개념은 마치 소개팅 주선자처럼 양쪽에서 서로의 정보를 전달해 주는 역할입니다.
이 시그널링은 서버를 통해 이루어지게 되고, 어떻게 구현할지는 자유입니다.
WebSocket, Http 등 적절한 프로토콜을 개발자가 선택하면 됩니다 .
그래서 저는 SocketIo로 하드코딩하다가 Web RTC를 쓰게되었습니다.
2. SDP ( Session Description Protocol)
SDP는 "무엇으로 소통할지, 어떻게 소통할지"에 대한 정보를 담겨있는 양식입니다.
3. ICE (Interactive Connectivity Establishment)
두 피어 간의 최적의 통신 경로를 찾기 위해 사용되는 프레임워크입니다.
NAT(NetWork Address Traslation)와 방화벽 등의 네트워크 장벽을 극복하고
직접적인 연결을 가능하게 하는 중요한 역할
- 연결 후보 수집 : 가능한 모든 연결 방법을 찾아냅니다.
- 연결성 검사 : 각 후보에 대해 실제 연결 가능 여부를 테스트합니다.
- 우선순위 결졍 : 가장 효율적인 연결 경로(지연시간이 가장 짧은 연결을 선호)를 선택합니다.
- NAT 및 방화벽 통과 : 다양한 네트워크 환경에서의 연결을 가능하게 합니다.
일단은 제가 이 WebRTC를 쓴이유는 시청자에게 실시간으로 방송화면과 오디오 보고 듣게 해주고
중간에 들어가도 호스트가 틀고있는 지점과 맞게 화면과 노래가 구현이 쉽게 가능할수있어서 선택하게
되었고 제가 공부하면서 여기까지 공부를 하였던것 같습니다 .
Web RTC에 대해서는 자세히는 모르지만 이렇게 좋은 API가 있다는것 정도 혹시 똑같이 방송 웹페이지를
프로젝트를 할떄 webRTC를 쓰지면 좋을꺼 같습니다 이상 Web RTC에 대한 간결한 설명이였습니다..