有人在 Windows 上使用过 mDNS 做过服务发现吗?请教一个问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rangerting
V2EX    程序员

有人在 Windows 上使用过 mDNS 做过服务发现吗?请教一个问题

  •  
  •   rangerting 86 天前 1501 次点击
    这是一个创建于 86 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景:
    我家的个人设备是个杂牌军(有 Android/iOS/macOS/Windows/Linux 各种),这不 AI 编程很厉害吗,我用 AI 开发了一套工具,实现了 LAN 网络中跨平台设备的协同功能(文件传输、照片备份、文件同步、剪切板同步等等),使用了 mDNS 协议(自己基于开源库实现,未使用 Android 的 NSD 和 Apple 的 Bonjour )来解决设备自动发现的问题(避免输入 IP ,扫码啥的繁琐的操作,工具蛮,交互就要极简)。

    问题:
    Android/iOS/macOS/Linux 上都工作的好好的,但是在 Windows 上,时不时无法发现新设备,目前已知出现该问题时,Windows 上无法收发 mDNS 消息,必须断开网络重新链接或者重启电脑才能恢复。

    补充:
    21 年微软和英特尔联手解决了一个困扰多年的多播路由 bug ,其现象跟这个很像,但是已于 Windows 10 Version 21H1 修复。

    问题挂了几个月了,没有进展,头疼,有没有大神弄过这玩意? 虚心请教~~~
    8 条回复    2025-07-19 01:18:51 +08:00
    yolee599
        1
    yolee599  
       86 天前 via Android
    Wireshark 抓包看看数据有没有到电脑
    pagxir
        2
    pagxir  
       86 天前 via Android
    你得说你的网络环境,有线还是无线,怎么接法。加入组播组了么
    rangerting
        3
    rangerting  
    OP
       85 天前
    @yolee599 @pagxir
    网络环境是家庭 wifi ,5G ,环境中有:1 台 macbook pro 、1 台 huawei metabook x pro(出问题的这台,windows10 系统)、1 台 Linux 服务器、 多台 Android 设备、多台 iOS 设备。

    出问题时通过抓包和 dns-sd 都进行了分析,情况:
    1 、dns-sd 在 windows 上除了看到自己,看不到别人;其他设备出了 windows 外,可以相互看到。
    2 、windows 抓包分析可以看到自己发起的 query 和自己的 resp ,看不到其他人的 query 和 resp 。
    rangerting
        4
    rangerting  
    OP
       85 天前
    @pagxir
    补充, 加入组播了
    PS:提供网络设备发现能力的库,是我自己基于开源库实现的一套跨平台中间件。
    yolee599
        5
    yolee599  
       85 天前 via Android
    关闭了 Windows 防火墙看看
    ikas
        6
    ikas  
       85 天前
    使用过这个库 https://github.com/mjansson/mdns 提供的 mdns 也用过 windows 内置的 mdns https://learn.microsoft.com/en-us/windows/win32/api/windns/nf-windns-dnsservicebrowse, 但都没有遇到过问题...
    rangerting
        7
    rangerting  
    OP
       85 天前
    @yolee599
    这也是我怀疑过的一个方向,每次出问题都检查了防火墙规则配置,没发现问题。
    接下来关闭试试一段时间看,但是由于这个问题不是经常出现,估计要观察很长一段时间才行。
    但是,如果后续想放出来给别人下载使用,关闭防火墙可就不可行了。
    rangerting
        8
    rangerting  
    OP
       85 天前
    @ikas
    你有长时间运行吗? 我的场景是 App 启动后不会关闭,responder 会一直持续运行,APP 做了休眠/唤醒的处理。
    怀疑过休眠恢复处理导致了问题,但查看日志显示正常恢复,并且问题偶现,且出现问题后,所有 LAN 网络其他类型的 mdns 消息都收不到,不仅我的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2672 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:40 PVG 10:40 LAX 19:40 JFK 22:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86