UNPKG

nativescript-zeroconf

Version:
62 lines (39 loc) 2.28 kB
# nativescript-zeroconf This nativescript-zeroconf plugin provides a Zeroconf/Bonjour implementation for both iOS and Android. Currently, it only supports discovering domains and services in the local network. Should there be any requests, I might implement the service registration parts as well (please open an issue to let me know). ## Demo Application This repository contains a demo application in the `demo-angular` folder that uses this plugin to display discovered Zeroconf domains and services. The demo app can be a good starting point for your app and may be used for narrowing down issues whilst debugging. Just clone this repo and run `npm run demo.ios` or `npm run demo.android` in the `src` folder. The demo app searches for by default for `http` services, but you can easily adjust the `serviceType` in `app/zeroconf/zeroconf.provider.ts`. ## Installation ```javascript tns plugin add nativescript-zeroconf ``` ## Usage First, import the plugin into your provider/component, and, since the plugin returns an `Observable` also the relevant types: ```javascript import { Zeroconf } from 'nativescript-zeroconf'; import { Observable, PropertyChangeData } from 'tns-core-modules/data/observable'; ``` Then, instantiate a Zeroconf and define the event listeners: ```javascript 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(); ``` Tip: have a look at the demo project for an example implementation ## API Describe your plugin methods and properties here. See [nativescript-feedback](https://github.com/EddyVerbruggen/nativescript-feedback) for example. | Property | Default | Description | | --- | --- | --- | | some property | property default value | property description, default values, etc.. | | another property | property default value | property description, default values, etc.. | ## Limitations ## License MIT license (see LICENSE file)