HarmonyOS鸿蒙Next中mDNS添加和删除的问题
HarmonyOS鸿蒙Next中mDNS添加和删除的问题 需求是这样,app回到前台时,通过mDNS发布一条本地服务,该表示设备上线,app切到后台时删除刚才添加的服务,表示设备下线;
我在调试的时候发现,如果app crash了的话,重启启动后,mdns添加本地服务的时候会报错code:2204007, message:Service instance duplicated;
好吧,提示有重复的服务,我就按照和已存在的这个本地服务一模一样的参数构造了一个mdns.LocalServiceInfo对象,但是在调用removeLocalService的又报错401,Parameter error;
所以就是删也删不掉,添加也添加不了,死循环了
更多关于HarmonyOS鸿蒙Next中mDNS添加和删除的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在HarmonyOS鸿蒙Next中,mDNS(Multicast DNS)用于在局域网内发现和解析设备名称。添加和删除mDNS服务涉及以下步骤:
-
添加mDNS服务:
- 使用
mDNSAddService
函数来注册服务。该函数需要指定服务名称、服务类型、端口号以及可选的TXT记录。 - 示例代码:
mDNSAddService("myDevice", "_http._tcp", 8080, "path=/status");
- 使用
-
删除mDNS服务:
- 使用
mDNSRemoveService
函数来注销服务。该函数需要指定服务名称和服务类型。 - 示例代码:
mDNSRemoveService("myDevice", "_http._tcp");
- 使用
-
注意事项:
- 确保设备在同一局域网内,以便mDNS正常工作。
- 服务名称和服务类型需唯一,避免冲突。
- 添加和删除操作应在网络连接稳定时进行。
通过上述步骤,可以在HarmonyOS鸿蒙Next中实现mDNS服务的添加和删除。
更多关于HarmonyOS鸿蒙Next中mDNS添加和删除的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html