audiorelay 中文文档 下载 App

同一 Wi-Fi 下 mDNS 自动发现服务器无需手动配 IP

AudioRelay 默认通过 mDNS(Multicast DNS,也叫 Bonjour / zeroconf) 在局域网里广播自己的存在——PC 端启动服务器后,手机端几秒之内就能在列表里看到。这个过程全自动,但几个前置条件缺一不可。

mDNS 的工作原理(科普)

  1. PC 端 AudioRelay 启动 → 向局域网内所有设备广播一条 UDP 包(地址 224.0.0.251:5353),内容大概是「我是 DESKTOP-ABC,IP 192.168.1.50,我提供 AudioRelay 服务」
  2. 手机端 AudioRelay 播放器持续监听这个多播组
  3. 收到广播后 → 服务器列表自动多出一条 PC 的主机名

整个过程不需要手动配 IP、不需要手动加端口、不需要路由器做任何 mDNS 代理设置——前提是广播包能到达。

自动发现的四个前提条件

条件 1:同一网络

PC 和手机必须连在同一个 Wi-Fi SSID 下。不能一个连家里路由器、一个连邻居家的 guest Wi-Fi,也不能一个有线一个连另一个 SSID 的 Wi-Fi。

条件 2:不是访客网络 / 没有 AP 隔离

访客网络(Guest Network)通常开启 AP Isolation(接入点隔离)——强制阻断设备之间的通信,只允许设备访问路由器和互联网。如果手机连了访客 Wi-Fi,手机根本听不到 PC 发的 mDNS 广播。

同样道理,路由器设置里如果有这些选项必须关闭:

条件 3:Windows 网络 = Private

Windows 的两种网络配置文件:

必须把 PC 的网络设为 Private:

  1. 设置 → 网络和 Internet → 当前网络 → 属性
  2. 网络配置文件 → 选「专用」
  3. 保存后 AudioRelay 重新启动一下,让防火墙规则在新的网络配置下生效

条件 4:防火墙放行

安装 AudioRelay 时勾选了防火墙规则的话这条已经解决了。如果没勾,需要手动放行 TCP / UDP 59100,详见 防火墙章节。

自动发现失败怎么办

如果以上条件都满足但列表还是空的:

  1. 重启两端 AudioRelay:有时网络配置变了进程还没刷新
  2. 重启路由器:mDNS 广播包可能被路由器缓存了旧条目
  3. 关掉再打开手机 Wi-Fi:强制手机重新加入多播组
  4. 手动 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 绕过去。