同一 Wi-Fi 下 mDNS 自动发现服务器无需手动配 IP
AudioRelay 默认通过 mDNS(Multicast DNS,也叫 Bonjour / zeroconf) 在局域网里广播自己的存在——PC 端启动服务器后,手机端几秒之内就能在列表里看到。这个过程全自动,但几个前置条件缺一不可。
mDNS 的工作原理(科普)
- PC 端 AudioRelay 启动 → 向局域网内所有设备广播一条 UDP 包(地址
224.0.0.251:5353),内容大概是「我是 DESKTOP-ABC,IP 192.168.1.50,我提供 AudioRelay 服务」 - 手机端 AudioRelay 播放器持续监听这个多播组
- 收到广播后 → 服务器列表自动多出一条 PC 的主机名
整个过程不需要手动配 IP、不需要手动加端口、不需要路由器做任何 mDNS 代理设置——前提是广播包能到达。
自动发现的四个前提条件
条件 1:同一网络
PC 和手机必须连在同一个 Wi-Fi SSID 下。不能一个连家里路由器、一个连邻居家的 guest Wi-Fi,也不能一个有线一个连另一个 SSID 的 Wi-Fi。
条件 2:不是访客网络 / 没有 AP 隔离
访客网络(Guest Network)通常开启 AP Isolation(接入点隔离)——强制阻断设备之间的通信,只允许设备访问路由器和互联网。如果手机连了访客 Wi-Fi,手机根本听不到 PC 发的 mDNS 广播。
同样道理,路由器设置里如果有这些选项必须关闭:
- AP Isolation / Client Isolation(接入点隔离)
- Port Isolation(端口隔离)
- Isolated guest network(隔离访客网络)
条件 3:Windows 网络 = Private
Windows 的两种网络配置文件:
- 公用网络(Public):Windows 会关闭局域网发现、阻止 mDNS 广播进出
- 专用网络(Private):Windows 允许局域网发现、允许设备间通信
必须把 PC 的网络设为 Private:
- 设置 → 网络和 Internet → 当前网络 → 属性
- 网络配置文件 → 选「专用」
- 保存后 AudioRelay 重新启动一下,让防火墙规则在新的网络配置下生效
条件 4:防火墙放行
安装 AudioRelay 时勾选了防火墙规则的话这条已经解决了。如果没勾,需要手动放行 TCP / UDP 59100,详见 防火墙章节。
自动发现失败怎么办
如果以上条件都满足但列表还是空的:
- 重启两端 AudioRelay:有时网络配置变了进程还没刷新
- 重启路由器:mDNS 广播包可能被路由器缓存了旧条目
- 关掉再打开手机 Wi-Fi:强制手机重新加入多播组
- 手动 IP 连接:最快的绕路方案,翻 手动 IP 连接
5GHz vs 2.4GHz 会影响发现吗
不会——mDNS 工作在同一局域网内,2.4 和 5GHz 同属一个 SSID 时底层是同一个网段。发现速度和信号强度无关。但 5GHz 本身干扰少、延迟更低,传输音频时体验更好,推荐。
多 AP(Mesh 网络)的情况
家里用 Mesh Wi-Fi、多个 AP 中继的情况,mDNS 广播包能不能跨 AP 传播取决于 Mesh 系统的实现。大部分消费级 Mesh 系统支持 mDNS 穿透(苹果的 AirPlay 依赖这个),一般不用担心。如果有问题可以手动 IP 绕过去。