본문 바로가기

아키텍처 Architecture/Software Architecture

WebRTC 입문 1. 웹 브라우저만 갖고 화상채팅이 가능?

1) WebRTC란?

Web Real-Time Communication의 줄임말로 웹 브라우저 간 플러그인 도움 없이 서로 통신할 수 있게 설계된 API다.

 

2011년에 나온 API로 나온지는 조금 되었는데, 코로나 등의 영향으로 비대면 서비스에 대한 요구가 커지면서 조금 더 주목을 받고 있는 기술이다.

 

최근에는 JavaScript나 웹브라우저만을 활용한 서비스도 나오는데 WebRTC 역시 큰 몫을 하고 있다.

 

참고 URL : ko.wikipedia.org/wiki/WebRTC

 

WebRTC - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. WebRTC (Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이다. W3C에서 제시된 초안이며, 음성 통화, 영상 통화, P

ko.wikipedia.org

 

2) 장점

가장 큰 장점은 브라우저의 기능을 활용한 서비스 구현이 가능하다는 것이다. 

 

화상채팅 프로그램 개발은 말로만 들어도 어려울 것 같은데, 

 

이 어려운 것을 모든 컴퓨터, 스마트폰에서 이미 사용 중인 웹 브라우저

(크롬, 사파리, 엣지 등)기반으로 자유롭게 사용할 수 있게 한다는 것이 가장 큰 장점이다.

 

3) 참고샘플코드

참고할만한 GITHUB : github.com/NanKisu/STUDY-WebRTC

 

NanKisu/STUDY-WebRTC

WebRTC 기술 학습. Contribute to NanKisu/STUDY-WebRTC development by creating an account on GitHub.

github.com

 

4) 테스트

위 코드를 기반으로 웹을 띄어보면 아래와 같은 화면이 나온다.

연결되기 전 모습

그 상태에서 session 정보를 주고받으면 

원격 연결대상과 연결된 모습

ㅇ이렇게 서로 연결이 되고

작은 발걸음

원격으로 브라우저를 이용해 채팅이 가능하다.

물론 화상 채팅도 가능하다.

 

 

5) 단점

원격으로 다른 브라우저와 통신을 하므로 권한을 획득해야한다.

특히 서버 역할을 하는 사용자는 반드시 마이크 권한을 상대방에게 제공해야한다.

심지어 마이크 관련 기능을 전혀 쓰지 않아도 마찬가지이다.

 

서버 역할을 하는 사용자가 이와같이 마이크를 차단하면 상호 통신이 불가능하다.

 

실제 서비스로 제공시에는 엔드유저가 권한을 허용하는것에 대해 거부감이 없도록 프로그램 및 UX 설계를 잘 해야할듯 하다.

반응형