webrtc

    [Web] WebRTC를 활용한 화상통화 서비스의 서버 구성

    WebRTC를 사용해서 1:1 화상통화 서비스가 포함된 프로젝트를 진행중이다. 이 때 필요한 서버는 1. Signaling Server 2. STUN Server 3. TURN Server 만약 1:1 방식의 화상통화가 아닌 1:N 혹은 N:M 방식이라면 Media Server를 추가하는 것이 좋다. Signaling Server 양쪽의 클라이언트를 연결시켜주는 역할을 하는 서버이다. 각 클라이언트들의 연결을 위해서는 먼저 정보의 전달이 필요한데, 이 정보를 SDP(Session Description Protocol)이라 하고 Siganling Server가 이 정보를 중계해주는 역할을 한다. Spring Boot를 사용한다면 일반적으로 WebSocket을 사용하여 통신하게 된다. 그 순서를 알아보면 1..

    [Web] Web Socket / Web RTC

    Web Socket Web Socket은 클라이언트와 서버의 실시간 통신을 지원해 준다. HTTP 프로토콜과는 달리 한 번의 연결이 이루어지면 지속적인 연결을 도와준다. 또한 한쪽에서의 일방적인 요청에 따른 응답이 아닌, 필요에 따라서 양방향에서 데이터를 주고받을 수 있다. Web RTC Web Real-Time Communication 웹 브라우저 환경에서 비디오, 음성 등의 데이터를 peer 간에 실시간으로 전송되도록 지원하는 오픈소스이다. 연결을 원하는 브라우저에서 Signaling Server를 통해 Offer SDP를 보내고 연결되는 브라우저에서 Answer SDP를 보내주면서 Ice Candidates 과정으로 이루어진다. NAT 환경에 있을 경우 Stun/Turn Server를 구현해 통신할..