是否存在UPnP类型URN列表?Windows C++端口转发开发咨询
解决Windows UPnP API查找路由器设备类型的问题
直接使用标准IGD设备类型
路由器这类支持端口转发的UPnP设备,属于UPnP官方定义的Internet Gateway Device (IGD),对应的设备类型字符串是:urn:schemas-upnp-org:device:InternetGatewayDevice:1直接把这个BSTR类型的字符串传给
FindByType()方法,就能定位到路由器设备。遍历所有UPnP设备获取类型(兼容特殊设备)
如果遇到非标准类型的路由器,可以先搜索所有UPnP设备:调用FindByType()时传入空字符串(""),获取网络中所有UPnP设备的列表。然后遍历每个设备,通过IUPnPDevice::get_DeviceType()方法读取设备的具体类型字符串,找到目标路由器对应的类型后再后续使用。补充:端口转发需要的服务类型
路由器的端口转发功能依赖于其提供的WANIPConnection服务,对应的服务类型是:urn:schemas-upnp-org:service:WANIPConnection:1找到IGD设备后,还需要定位到这个服务,才能调用端口转发相关的方法(比如
AddPortMapping)。
内容的提问来源于stack exchange,提问作者Schrottiy
相关产品推荐
相关产品推荐

