1.4.2 • Published 4 years ago

cordova-plugin-zeroconf v1.4.2

Weekly downloads
769
License
MIT
Repository
github
Last release
4 years ago

Cordova ZeroConf Plugin

This plugin allows you to browse and publish ZeroConf/Bonjour/mDNS services from applications developed using PhoneGap/Cordova 3.0 or newer.

This is not a background service. When the cordova view is destroyed/terminated, publish and watch operations are stopped.

CHANGELOG

Installation

In your application project directory:

cordova plugin add cordova-plugin-zeroconf

Usage

var zeroconf = cordova.plugins.zeroconf;

For Android, you may want set the following options to speed discovery up:

zeroconf.registerAddressFamily = 'ipv4'; // or 'ipv6' ('any' by default)
zeroconf.watchAddressFamily = 'ipv4'; // or 'ipv6' ('any' by default)

getHostname(success, failure)

Returns this device's hostname.

zeroconf.getHostname(function success(hostname){
    console.log(hostname); // ipad-of-becvert.local.
});

register(type, domain, name, port, txtRecord, success, failure)

Publishes a new service.

zeroconf.register('_http._tcp.', 'local.', 'Becvert\'s iPad', 80, {
    'foo' : 'bar'
}, function success(result){
    var action = result.action; // 'registered'
    var service = result.service;
});

unregister(type, domain, name, success, failure)

Unregisters a service.

zeroconf.unregister('_http._tcp.', 'local.', 'Becvert\'s iPad');

stop(success, failure)

Unregisters all published services.

zeroconf.stop();

watch(type, domain, success, failure)

Starts watching for services of the specified type.

zeroconf.watch('_http._tcp.', 'local.', function(result) {
    var action = result.action;
    var service = result.service;
    if (action == 'added') {
        console.log('service added', service);
    } else if (action == 'resolved') {
        console.log('service resolved', service);
        /* service : {
        'domain' : 'local.',
        'type' : '_http._tcp.',
        'name': 'Becvert\'s iPad',
        'port' : 80,
        'hostname' : 'ipad-of-becvert.local',
        'ipv4Addresses' : [ '192.168.1.125' ], 
        'ipv6Addresses' : [ '2001:0:5ef5:79fb:10cb:1dbf:3f57:feb0' ],
        'txtRecord' : {
            'foo' : 'bar'
        } */
    } else {
        console.log('service removed', service);
    }
});

unwatch(type, domain, success, failure)

Stops watching for services of the specified type.

zeroconf.unwatch('_http._tcp.', 'local.')

close(success, failure)

Closes the service browser and stops watching.

zeroconf.close()

reInit(success, failure)

Re-initializes the entire plugin, which resets the browsers and services. Use this if the WiFi network has changed while the app is running.

zeroconf.reInit()

Credits

Android

It depends on the JmDNS library

iOS

Implements Apple's Bonjour

Licence

The MIT License

1.4.2

4 years ago

1.4.1

4 years ago

1.4.0

5 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.8

7 years ago

1.2.7

7 years ago

1.2.6

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

8 years ago

1.1.3

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago