/// 약속: Wi-Fi 공유가 기기에서 받는 것 - 열 주소 ([addresses]: 사설망 먼저, 없으면 빈 목록) · Windows 설정 · 제어판 열기 ([launch]). /// 앱은 [RealWifiShareNet] (이 기기 그대로) 를 쓰고, 시험은 생성자로 다른 것을 넘긴다 (예: 127.0.0.1 에만 열기 - 시험 PC 의 방화벽 창 · 바깥 노출 없이) library; import 'dart:io'; import 'wifi_share.dart' show WifiShare; abstract interface class WifiShareNet { Future> addresses({bool tailscale = true}); Future launch(String exe, List args); } /// 이 기기 그대로 class RealWifiShareNet implements WifiShareNet { const RealWifiShareNet(); @override Future> addresses({bool tailscale = true}) => WifiShare.localAddresses(tailscale: tailscale); @override Future launch(String exe, List args) => Process.start(exe, args, mode: ProcessStartMode.detached); }