Skip to content

vstirbu/ZeroConf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZeroConf plugin for Cordova/Phonegap

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

GitHub version

Adding the Plugin to your project

In your application project directory, if you use cordova-cli newer then 5.0:

cordova plugin add cordova-zeroconf-plugin

or, for older versions:

cordova plugin add https://github.com/vstirbu/ZeroConf@1.1.1

Using the plugin

There are six static methods on the ZeroConf object, as follows:

watch(type, callback)

Note that type is a fully-qualified service type, including the domain, e.g. "_http._tcp.local."

callback is a function that is called when services are added and removed. The function is passed an object with the following structure:

{
	"service": {
		"port": 50930,
		"protocol": "tcp",
		"application": "http",
		"urls": ["http://192.168.2.2:50930", "http://fe80::7256:81ff:fe00:99e3:50930"],
		"description": "\\00",
		"name": "Black iPod",
		"domain": "local",
		"server": "",
		"addresses": ["192.168.2.2", "fe80::7256:81ff:fe00:99e3"],
		"type": "_http._tcp.local.",
		"qualifiedname": "Black iPod._http._tcp.local."
	},
	"action": "added"
}

For more information on the fields, see the JmDNS docs. If you edit ZeroConf.java, you can easily add more fields if you need them.

unwatch(type)

Stops watching for services of the specified type.

close()

Closes the service browser and stops watching.

register(type, name, port, text)

Publishes a new service. The fields are as in the structure above. For more information, see the JmDNS docs.

unregister()

Unregisters all published services.

list(type, timeout, success, error)

List all published services, search for timeout (in ms). The fields are as in the structure above.

Credits

Original plugin ZeroConf developed by Matt Kane / Triggertrap Ltd.

It depends on the JmDNS library.

Licence

The MIT License