nativescript-zeroconf
为 NativeScript 提供的 Zeroconf/Bonjour 实现
npm i --save nativescript-zeroconf

nativescript-zeroconf

此 nativescript-zeroconf 插件为 iOS 和 Android 提供了 Zeroconf/Bonjour 实现。目前,它仅支持在本地网络中发现域和服务。如有任何请求,我也可能实现服务注册部分(请打开一个问题来让我知道)。

示例应用

此存储库包含一个在 demo-angular 文件夹中的示例应用,该应用使用此插件显示发现的 Zeroconf 域和服务。示例应用可以成为您应用的起点,也可以用于调试时缩小问题范围。只需克隆此存储库,并在 src 文件夹中运行 npm run demo.iosnpm run demo.android 即可。

默认情况下,示例应用搜索 http 服务,但您可以通过在 app/zeroconf/zeroconf.provider.ts 中调整 serviceType 来轻松更改。

安装

tns plugin add nativescript-zeroconf

使用

首先,将插件导入到您的提供者/组件中,因为插件返回一个 Observable,所以相关的类型也必须导入

import { Zeroconf } from 'nativescript-zeroconf';
import { Observable, PropertyChangeData } from 'tns-core-modules/data/observable';

然后,实例化 Zeroconf 并定义事件监听器

    this.zeroconf = new Zeroconf('_http._tcp.', 'local.'); // param 1 = service type, param 2 = domain

/* define event listener */

this.zeroconf.on(Observable.propertyChangeEvent, (data: PropertyChangeData) => {
switch(data.propertyName.toString()) {
case 'serviceFound': {
console.log(`serviceFound: ${JSON.stringify(data.value)}`);
break;
}
}
});

this.zeroconf.startServiceDiscovery();

提示:查看示例项目以获取示例实现

API

在此描述您的插件方法和属性。有关示例,请参阅 nativescript-feedback

属性 默认值 描述
一些属性 属性默认值 属性描述,默认值等
另一个属性 属性默认值 属性描述,默认值等

局限性

许可证

MIT 许可证(见 LICENSE 文件)