SSDP Discovery服务必须启动并设为“自动(延迟启动)”,且需放行UDP 1900端口:在services.msc中启动该服务并修改启动类型,再通过wf.msc新建入站规则允许UDP 1900端口(勾选专用和公用网络),最后用netstat -ano -p UDP | findstr :1900验证svchost.exe是否监听该端口。

确认SSDP Discovery服务是否已启动
SSDP Discovery服务是Windows 11实现设备广播与响应的核心组件,若该服务未运行,你的电脑将完全不对外发送UPnP/SSDP发现包,其他设备自然搜不到你——哪怕网络类型、共享开关、防火墙规则全部正确。
按 Win + R 输入 services.msc 回车 → 在服务列表中找到 SSDP Discovery → 双击打开属性窗口 → 查看“服务状态”:若显示“已停止”,说明服务当前未工作;若为“正在运行”,请跳至下一阶段检查防火墙或端口放行。
将SSDP Discovery设为自动并手动启动
仅靠临时启动无法保证下次开机后持续生效,必须同时修改启动类型。
在SSDP Discovery属性窗口中 → 将“启动类型”下拉菜单改为【自动(延迟启动)】→ 点击“启动”按钮 → 点击“确定”保存。
这一步做完后,系统会将其纳入开机自启队列,并立即激活服务。注意:不要选“自动”,而应选“自动(延迟启动)”,因为SSDP依赖网络栈初始化完成,过早启动可能失败。
验证SSDP服务是否真正生效
服务状态栏显示“正在运行”不等于协议已通,还需确认其绑定的UDP 1900端口是否被监听。
以管理员身份打开Windows Terminal → 执行:netstat -ano -p UDP | findstr :1900 → 若返回一行含LISTENING和svchost.exe的PID,则说明SSDP服务已成功绑定端口;若无输出,说明服务虽运行但未获得网络权限,需进入防火墙环节。
此时不要重启服务,直接前往防火墙设置放行UDP 1900端口,否则监听仍会被拦截。
放行SSDP必需的UDP 1900端口
Windows Defender防火墙默认静默丢弃所有UDP 1900入站包,且不会弹出提示框,这是导致“服务开着却搜不到”的最常见隐藏原因。
按 Win + R 输入 wf.msc 回车 → 左侧点击“入站规则” → 右键空白处选“新建规则…” → 选择“端口”→ 下一步 → 选择UDP → 在“特定本地端口”填入1900 → 下一步 → 选“允许连接”→ 下一步 → 勾选“专用”和“公用”→ 下一步 → 命名为Allow SSDP Discovery → 完成。
这条规则必须同时勾选“专用”和“公用”,否则当邻居设备通过手机热点或跨VLAN接入时,仍会因识别偏差而失败。

















