TURN 후보가 보인다고 중계 중인 건 아니다
같은 PC에서 coturn과 두 WebRTC 연결을 띄워 직접 연결과 강제 중계를 비교했다. 선택된 candidate pair, relayProtocol, 수신 RTP 패킷으로 확인한 결과를 정리한다.
백엔드·데이터·실시간 통신을 만들며 확인한 내용을 기록합니다.
같은 PC에서 coturn과 두 WebRTC 연결을 띄워 직접 연결과 강제 중계를 비교했다. 선택된 candidate pair, relayProtocol, 수신 RTP 패킷으로 확인한 결과를 정리한다.
LiveKit의 turn.enabled와 rtc.turn_servers를 나란히 읽으며, 내장 TURN 비활성화와 외부 coturn 사용이 함께 성립하는 이유를 설명한다.
VoiceLink의 API·SSE, LiveKit WebSocket, WebRTC 음성 경로를 나눠 연결 성공만으로 통화 성공을 판단할 수 없는 이유를 설명한다.
PostgreSQL 14.20에서 10만 행 중 9만 행을 삭제하고 옛 스냅샷, VACUUM, 실제 파일 크기의 차이를 확인한다.
실제 Lua에 두 요청을 100회 보내 후보 선점과 제한 탐색을 확인하고, 선점 뒤 취소를 처리하는 VoiceLink 코드를 연결한다.
앞 로그의 상태를 이어받는 RAW 파서는 순서대로 두고, 적재 워커 하나로 대기만 겹친 구조와 실패 전달을 설명한다.
캐시가 비었다고 확인한 요청도 잠금을 기다리는 동안 상황이 달라질 수 있다. VoiceLink의 두 번의 조회와 여덟 요청 테스트로 그 이유를 따라간다.
Hibernate와 H2에서 댓글 8·2·0개를 조회해 배치 로딩, fetch join, 집계의 SQL 수와 엔티티 적재 수를 비교한다.
PythonStudy의 실제 배치에 삭제 실패를 주입해 DB 커밋, 정상 반환, 같은 작업 재실행 시 중복 행을 확인한다.
VoiceLink 연결 테스트에서 늦은 마이크 허용과 15초 타임아웃을 따라가며, 취소한 방과 새 방을 구분하는 코드를 읽는다.