0.0.1 • Published 7 years ago
cordova-tisone-zeroconf v0.0.1
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
1.2.2
- android: re-registering while DNS entry is still cached causes IllegalStateException
1.2.1
- android: check that NetworkInterface.supportsMulticast
- iOS: add Hostname.m to the target
1.2.0
- new getHostname function
- added parameter for domain
- added success/failure callbacks
- normalized service object
- more ipv6 support
Installation
In your application project directory:
cordova plugin add cordova-plugin-zeroconf
Usage
var zeroconf = cordova.plugins.zeroconf;
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;
/* 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'
}
} */
if (action == 'added') {
console.log('service added', service);
} 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()
Credits
Android
It depends on the JmDNS library
Many thanks to cambiocreative that got me started
iOS
Implements https://developer.apple.com/bonjour/
Licence
The MIT License
0.0.1
7 years ago