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服务涉及以下步骤:

  1. 添加mDNS服务

    • 使用mDNSAddService函数来注册服务。该函数需要指定服务名称、服务类型、端口号以及可选的TXT记录。
    • 示例代码:
      mDNSAddService("myDevice", "_http._tcp", 8080, "path=/status");
      
  2. 删除mDNS服务

    • 使用mDNSRemoveService函数来注销服务。该函数需要指定服务名称和服务类型。
    • 示例代码:
      mDNSRemoveService("myDevice", "_http._tcp");
      
  3. 注意事项

    • 确保设备在同一局域网内,以便mDNS正常工作。
    • 服务名称和服务类型需唯一,避免冲突。
    • 添加和删除操作应在网络连接稳定时进行。

通过上述步骤,可以在HarmonyOS鸿蒙Next中实现mDNS服务的添加和删除。

更多关于HarmonyOS鸿蒙Next中mDNS添加和删除的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,mDNS(Multicast DNS)用于局域网内的设备发现。添加mDNS服务时,可以使用DnsSdServiceInfo类配置服务信息,并通过DnsSdServiceManagerregisterService方法注册。删除服务时,调用unregisterService方法即可。注意确保服务信息(如服务名称、类型、端口等)正确,且在设备网络连接正常时操作。

回到顶部