1. webRTC 기초 정리

2024. 9. 19. 10:40·CS/짤막지식

WebRTC의 주요 개념을 쉽게 설명하자면

  1. Peer-to-Peer 연결: 두 디바이스가 서버 없이 직접 통신할 수 있게 해준다. 음성, 영상, 데이터 등을 주고받을 수 있다.
  2. ICE (Interactive Connectivity Establishment): 최적의 경로를 찾기 위한 프로토콜이다. 디바이스가 서로 연결될 수 있도록 공유 가능한 네트워크 경로를 탐색한다.
  3. SDP (Session Description Protocol): 두 디바이스가 어떤 미디어를 주고받을지 약속하는 정보다. 연결 세부 정보(코덱, 포트 등)를 담고 있다.
  4. Signaling (시그널링): 서로 연결하기 전에 SDP와 ICE 정보를 교환하는 단계다. WebRTC는 시그널링 서버를 통해 이 데이터를 주고받는다.
  5. STUN/TURN 서버: 네트워크 환경에 따라 직접 연결이 어려울 때 사용하는 서버다. STUN 서버는 외부 IP를 확인하고, TURN 서버는 중계 역할을 한다.

나는 웹 소켓 서버를 구현하기 어려워 파이어베이스를 사용한다.

 

Firebase는 WebRTC에서 시그널링 서버 역할을 할 수 있다. WebRTC 연결을 위해 디바이스 간에 SDP와 ICE 후보자 정보를 주고받아야 하는데, 이를 처리하는 것이 시그널링 서버의 역할이다.Firebase의 Firestore나 Realtime Database를 사용해 WebRTC 연결에 필요한 시그널링 데이터(SDP와 ICE 정보)를 주고받을 수 있다. 이로써 두 디바이스가 직접 연결할 수 있게 도와주는 것이다.

 

WebRTC에서 시그널링 서버로 더 적합한 옵션은 WebSocket 서버나 Socket.io 서버다. WebSocket은 양방향 실시간 통신을 가능하게 해주며, WebRTC에서 필요한 SDP와 ICE 후보자 정보를 빠르게 주고받기에 적합하다.

 

Firebase는 편리하지만 실시간 업데이트 속도 면에서 WebSocket 서버보다 느릴 수 있다. WebRTC는 빠른 시그널링을 요구하기 때문에 WebSocket 기반 서버가 더 적합할 수 있다.

'CS > 짤막지식' 카테고리의 다른 글

2. 자료구조 / 알고리즘 - 코드  (1) 2024.10.28
WebRTC with ChatGPT  (2) 2024.10.02
restful API vs websocket  (0) 2024.09.25
2. webRTC의 SDP, ICE, 시그널링에 대해서  (0) 2024.09.20
변수 쓸 때 숫자는 Int, Double로 다양하게 받으면서, 왜 문자는 String으로 퉁치죠?  (0) 2024.07.30
'CS/짤막지식' 카테고리의 다른 글
  • WebRTC with ChatGPT
  • restful API vs websocket
  • 2. webRTC의 SDP, ICE, 시그널링에 대해서
  • 변수 쓸 때 숫자는 Int, Double로 다양하게 받으면서, 왜 문자는 String으로 퉁치죠?
복복씨
복복씨
개발자여, 사고하라 !
  • 복복씨
    정리노트
    복복씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (119) N
      • 개발새발자 (22) N
        • 의 삶 (7)
        • 의 회고 (9)
        • 의 낙서장 (6) N
        • 영어 (0)
      • Flutter (39)
        • 새싹 (5)
        • Dart (8)
        • Flutter (15)
        • iOS 에서 Flutter 로 전환하며 (2)
        • 챗지피티랑놀.기 (3)
        • 하루 한 입 플러터 (2)
      • CS (7)
        • 짤막지식 (6)
      • IOS (6)
        • Swift (0)
        • UIKit (1)
        • SwitUI (4)
      • 머신러닝-딥러닝 (28)
        • 논문리뷰 (3)
        • study (16)
        • Kaggle (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    FLUTTER
    핫 리로드
    부트캠프
    깊은참조
    유리과일
    새싹 플러터
    유리과일 자르기
    IOS
    getit
    사그널링서버
    ai asmr
    시그널링데이터
    expando
    unawaited
    runzonedguarded
    swiftui 플러터
    dart
    멋쟁이 사자처럼
    플러터 새싹
    flutter 애니메이션
    새싹 용산
    asmr 프롬프트
    futurerecord2
    새싹
    schedulemicrotask
    플러터 di
    코드 결합도
    플러터
    용산캠
    veo3
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
복복씨
1. webRTC 기초 정리
상단으로

티스토리툴바