mic/plans/af182cf0-404d-42f5-93cc-83d...

2.8 KiB

작업 플랜

  • UUID: af182cf0-404d-42f5-93cc-83d54bb4fbe2
  • 작업자: Codex
  • 생성 시각: 2026-06-02 16:31
  • 요청 요약: Homebrew와 WSL2 기준으로 서버 계획을 수정하고 서버 구현 시작

할 일

  • 현재 요청 확인
  • 저장소 상태와 서버 변경 범위 확인
  • Homebrew/WSL2 기준 서버 방향 확정
  • 서버 문서와 README 갱신
  • C++ 서버 구현 추가
  • 가능한 빌드/정적 검증 수행
  • 완료 내용 정리

범위

  • server/와 서버 방향성 문서, 서버 작업 플랜을 수정합니다.
  • 루트 README.md에서는 서버 설명과 문서 링크 표현만 서버 기준으로 정리합니다.
  • 다른 AI가 작업 중인 client/와 클라이언트 문서는 수정하지 않습니다.

확정 기준

  • 개발/실행 준비 기준은 Homebrew입니다.
  • Windows는 네이티브 Windows가 아니라 WSL2 환경을 지원 대상으로 봅니다.
  • 지원 대상은 macOS, Ubuntu, Rocky Linux 9, Windows의 WSL2 Linux 환경입니다.
  • 빌드는 CMake를 사용합니다.
  • 오디오 출력 우선 후보는 Homebrew로 설치 가능한 miniaudio입니다.
  • UDP 수신 포트는 4860 하나만 사용합니다.
  • 초기 오디오 포맷은 48 kHz / PCM_S16LE / mono / 10 ms입니다.
  • 송신기별 음량 조절은 초기 구현 범위에서 제외합니다.

구현 목표

  • 서버 설정 파일을 읽습니다.
  • UDP 4860에 바인딩합니다.
  • 서버가 지정한 56바이트 패킷 헤더 v1을 파싱합니다.
  • 단일 송신기 PCM payload를 실행 OS의 기본 오디오 출력으로 재생합니다.
  • sequence 기반의 기본 수신 로그와 손실 카운터를 출력합니다.

진행 기록

  • Homebrew와 WSL2 기준으로 서버 방향성 문서와 README를 갱신했습니다.
  • server/CMakeLists.txt를 추가했습니다.
  • server/src/main.cpp를 추가해 UDP 수신, 패킷 헤더 파싱, miniaudio 기본 출력 재생 경로를 구현했습니다.
  • server/server.conf.examplesender_id, jitter_buffer_ms, log_interval_packets를 추가했습니다.
  • PowerShell과 WSL2 Ubuntu 환경에 현재 brew, cmake, C++ 컴파일러가 없어 실제 빌드는 수행하지 못했습니다.
  • Homebrew 공식 문서와 Homebrew miniaudio formula를 확인해 WSL2/Linux 기준과 brew install miniaudio 방향을 문서에 반영했습니다.

완료 요약

  • 서버 구현을 시작했고, mic_server C++ 실행 파일 구성을 추가했습니다.
  • 현재 구현은 단일 활성 송신기의 56바이트 헤더 v1 UDP 패킷을 받아 기본 오디오 출력으로 재생합니다.
  • 빌드는 현재 로컬 도구 부재로 미실행 상태입니다. WSL2에 Homebrew, CMake, C++ 컴파일러, miniaudio가 준비되면 빌드 검증이 필요합니다.