TURN 서버

대부분의 WebRTC 애플리케이션이 작동하려면 통신할 수 있습니다. 이는 네트워크 간 직접 소켓이 불가능한 경우가 많기 때문입니다. 클라이언트 (두 클라이언트가 동일한 로컬 네트워크에 있는 경우는 예외) 이러한 문제를 해결하는 TURN 서버를 사용하는 것입니다. 이 용어는 릴레이를 사용한 순회를 의미합니다. 네트워크 트래픽을 중계하기 위한 프로토콜입니다.

현재 온라인으로 사용할 수 있는 TURN 서버에는 다음과 같은 몇 가지 옵션이 있습니다. 자체 호스팅 애플리케이션 (오픈 소스 COTURN 프로젝트 등)을 제공할 수 있습니다

온라인에서 TURN 서버를 사용할 수 있게 되면 RTCConfiguration - 클라이언트 애플리케이션에서 이를 사용하도록 합니다. 다음 코드는 스니펫은 RTCPeerConnection의 샘플 구성을 보여줍니다. 여기서 TURN 서버의 호스트 이름은 my-turn-server.mycompany.com이며 현재 실행 중입니다. 포트 19403. 구성 객체는 username 및 서버에 대한 액세스를 보호하기 위한 credential 속성입니다. 이는 TURN 서버에 연결할 때 필요합니다.

const iceConfiguration = {
    iceServers: [
        {
            urls: 'turn:my-turn-server.mycompany.com:19403',
            username: 'optional-username',
            credential: 'auth-token'
        }
    ]
}

const peerConnection = new RTCPeerConnection(iceConfiguration);