HarmonyOS鸿蒙Next中对应android中import android.net.nsd.NsdManager import android.net.nsd.NsdServiceInfo 是什么

HarmonyOS鸿蒙Next中对应android中import android.net.nsd.NsdManager import android.net.nsd.NsdServiceInfo 是什么 在鸿蒙中对应android中

import android.net.nsd.NsdManager

import android.net.nsd.NsdServiceInfo 是什么

3 回复

addLocalService和LocalServiceInfo接口可以吗

更多关于HarmonyOS鸿蒙Next中对应android中import android.net.nsd.NsdManager import android.net.nsd.NsdServiceInfo 是什么的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


鸿蒙Next中对应Android的NsdManagerNsdServiceInfo的是@ohos.net.mdns模块下的MdnsManagerMdnsServiceInfo。用于实现基于mDNS的服务发现功能。

在 HarmonyOS NEXT 中,对应 Android 的 NsdManager/NsdServiceInfo 功能,可使用系统提供的 @ohos.net.mdns 模块来实现基于 mDNS/DNS‑SD 的局域网服务发现与注册。

  • 发现服务:通过 mdns.DiscoveryService 启动发现,并监听 mdns.DiscoveryService.on('serviceFound', callback)on('serviceLost', callback) 获取服务信息。
  • 注册服务:使用 mdns.RegistrationService 注册本地服务,返回注册后的 mdns.LocalServiceInfo
  • 服务信息:用 mdns.ServiceInfo 对象封装服务名称、类型、主机、端口、属性和 IP 地址等,功能等同 Android 的 NsdServiceInfo

简单示例(仅核心步骤):

import { mdns } from '@kit.NetworkKit';

let discovery: mdns.DiscoveryService = mdns.createDiscoveryService('_http._tcp');
discovery.on('serviceFound', (info: mdns.ServiceInfo) => {
  console.log('Found:', info.serviceName, info.host, info.port);
});
discovery.start();

这样就可以在鸿蒙应用中完成同一局域网内的服务发现。

回到顶部