@
cooaer 你使用家庭 wifi 试过,可以不?
热点我测试过:huawei 、honor 、iphone ,其他手机没测试过,可能各厂商的热点网络策略不一样。
原因分析:
我只使用了 mdns 5353 端口来实现 local 网络的设备发现,因此无法找到节点,大概率是 mdns 消息被拦截了(很多企业内网会禁用广播/多播协议)
看了下 LocalSend 的官方文档,他通过 2 种方式来发现设备,默认 mdns 53317 端口,若 mdns 无法发现,会使用发送请求至 LAN 中所有本地 ip 的方式来探测( Devices are discovered by sending this request to all local IP addresses )
如果方便的话,麻烦请:
1 、帮忙试下你的家庭 LAN 是否可行,如果可行,说明手机热点中屏蔽了 mdns ,我去找台小米手机试试。 如果家庭 wifi 也不行。
2 、若家庭 wifi 也无法发现设备,可以试试用 dns-sd 命令在 mac 上,是否可以看到其他网络服务,可能家庭 wifi 也禁用了多播(一般不会)。
后续打算新增一个全局 discovery 服务器(参考 syncthing ),通过该服务器,来辅助设备发现,提高设备发现的稳定性,mdns 太不稳定了。LocalSend 的方式可能不适合我,因为我的服务端口会自适应,避开冲突端口,这样的话会 ip 数*端口数,探测范围太大了。