최근에 iOS/Android 시뮬레이터를 브라우저로 스트리밍하는 셀프 호스팅 도구를 만들었습니다.
모든 장비가 같은 LAN에 있었기 때문에 거의 로컬에서 실행하는 것처럼 부드럽게 동작할 거라고 생각했습니다. 하지만 실제로는 그렇지 않았습니다.
약 0.5초마다 화면이 잠깐 멈췄다가 다시 따라잡는 현상이 반복됐고, 그 패턴도 매우 일정했습니다.
대역폭은 충분했고 CPU 사용률도 낮았기 때문에, 단순히 "네트워크가 느려서" 생긴 문제는 아니었습니다.
원인을 찾기 위해 릴레이 역할을 하는 Mac에서 공유기로 매우 짧은 간격으로 ping을 보내기 시작했습니다.
ping -i 0.01 <router-ip>결과는 흥미로웠습니다. 대부분의 패킷은 빠르게 응답했지만, 일정한 간격으로 약 90ms 정도의 지연이 발생했습니다. 그리고 그 지연이 발생하는 주기가 스트리밍이 끊기던 주기와 거의 정확히 일치했습니다.
원인은 AWDL(awdl0)이었습니다.
AWDL은 AirDrop, AirPlay, Handoff 등에 사용되는 macOS의 네트워크 인터페이스입니다. AWDL이 활성화되면 macOS는 주기적으로 Wi-Fi 채널을 잠시 전환하는데, 그 순간 일반 Wi-Fi 연결로 오가는 패킷이 지연될 수 있습니다. 제 환경에서는 그 지연이 약 90ms 정도였습니다.
AWDL을 비활성화(sudo ifconfig awdl0 down)하거나, AWDL을 활성화하는 기능들을 사용하지 않자 화면 끊김 현상은 완전히 사라졌습니다.
다만 AWDL이 항상 채널을 전환하는 것은 아닙니다. 보통 AirDrop 검색, AirPlay, 또는 Bluetooth 기반 근접 기능 등에 의해 활성화될 때만 동작합니다. 그런 기능들이 사용되지 않으면 AWDL도 조용히 유지됩니다.
지금은 릴레이 서버를 유선(Ethernet)으로 연결해서 사용하고 있습니다. 이렇게 하면 스트리밍 트래픽이 Wi-Fi를 전혀 거치지 않기 때문에 이 문제가 완전히 사라집니다.
Repo: github.com/jo-duchan/tapflow

3 hours ago
6





![[속보] 北, 韓·EU성명에 “체제존중 위장 내던져…韓 적대 원칙 불변”](https://pimg.mk.co.kr/news/cms/202606/13/news-p.v1.20260613.89255ddca2b0487c98e7f979e85a8a39_R.jpg)


English (US) ·