Skip to content

11 14 회의

Seungheon Han edited this page Nov 30, 2024 · 4 revisions

Mediasoup 방송 관리 및 로직 정리


방송 중단 (stopBroadcast)

  • 기능: 방송 종료 시 관련된 데이터 및 연결을 정리.
  • 로직:
    1. router.close() 호출로 Router를 종료.
    2. 관련 이벤트를 처리하여 연결 데이터 삭제.

구현 코드 예시

private roomTransports = new Map<string, IRoomTransportInfo>();
private producers = new Map<string, mediasoup.types.Producer[]>();
private consumers = new Map<string, mediasoup.types.Consumer[]>();

router.close();

transport.on('routerclose', (roomId) => {
    transport.close();
    // this.roomTransports 객체 삭제
    this.roomTransports.delete(roomId);
});

producer.on('transportclose', (transportId) => {
    producer.close();
    // this.producers 객체 삭제
    this.producers.delete(transportId);
});

consumer.on('transportclose', (transportId) => {
    consumer.close();
    // this.consumers 객체 삭제
    this.consumers.delete(transportId);
});

consumer.on('producerclose', () => {
    consumer.close();
    // this.consumers 객체 삭제
    this.consumers.delete(transportId);
});
  • router가 close되면 tranpos

WebSocket 연결 끊김 처리

Best 시나리오:

  • WebSocket이 자동으로 끊기면 transport가 자동으로 close().

따로 처리가 필요한 상황:

  1. 방송자가 끊겼을 때: stopBroadcast 호출.
  2. 시청자가 끊겼을 때: leaveBroadcast 호출 및 transport.close().

👥 팀 강점

🧑‍💻 개발 일지

📌 ALL

📌 FE

📌 BE

💥 트러블 슈팅

📌 FE

📌 BE

🤔 고민

📚 학습 정리

📌 김광현

📌 백지연

📌 전희선

📌 한승헌

🤝 회의록

🗒️ 데일리 스크럼

💬 팀 회고


👨‍👩‍👧‍👦 소개

🌱 문화

🔨 기술 스택

⚙️ 서비스 아키텍쳐

🚧 CI/CD

🌊 Flow

💭 6주를 보내면서

Clone this wiki locally