피드로 돌아가기
WebRTC 홈캠 앱: WebSocket 시그널링 서버 구축 경험
Dev.toDev.to
Backend

WebRTC 홈캠 앱: WebSocket 시그널링 서버 구축 경험

WebSocket 기반 Signaling Server 구축을 통한 WebRTC P2P 연결 최적화

바람의평온2026년 6월 30일5intermediate

Context

WebRTC 표준의 미디어 연결 정의 부재로 인한 초기 접속 정보 교환 체계 필요성 대두. HTTP 기반 요청-응답 구조로는 비동기적인 피어 상태 변화 및 실시간 연결 요청 라우팅 처리에 한계 존재.

Technical Solution

  • WebSocket 채널 도입을 통한 양방향 실시간 통신 구현으로 피어 간 비동기 메시지 전달 최적화
  • Node.js ws 라이브러리를 활용하여 deviceId 기반의 클라이언트 등록 및 메시지 라우팅 로직 설계
  • RELAY_TYPES Set 정의를 통해 지정된 제어 메시지만 중계하는 필터링 구조로 서버 부하 최소화
  • SDP Offer/Answer 및 ICE Candidate 교환 프로세스를 단계별로 정의하여 P2P 연결 성립 유도
  • flutter_webrtc 및 web_socket_channel 패키지를 통한 클라이언트 단의 시그널링 인터페이스 통합

1. WebRTC 설계 시 시그널링 서버를 미디어 데이터 경로에서 완전히 분리했는지 확인

2. 양방향 통신이 필요한 시그널링 특성에 따라 WebSocket 또는 Socket.io 채택 검토

3. 서버 부하 방지를 위해 중계 대상 메시지 타입을 정의하고 불필요한 페이로드 처리를 차단하는 필터링 로직 적용

4. 피어의 온라인/오프라인 상태를 실시간으로 동기화하기 위한 상태 관리 매커니즘 설계

원문 읽기