I've got some apps I would like to make visible with zeroconf.
Python or sh would be preferrable. OS-specific suggestions welcome for Linux and OS X.
EDIT 2022-02-27: I'm not 100% sure anymore what I wrote is actually correct. I tried it recently and although it ran, I couldn't get the info back through mdns
query; suggesting that mDNS is possibly more complex than expected..... To be continued.... And please leave a comment if this does/does not work for you.
Although this answer points you in the right direction, it seems that python-zeroconf (0.39.4) had some changes making the example above not work (for me) anymore.
Also I think a more minimal, self-contained, answer would be nice, so here goes:
from zeroconf import ServiceInfo, Zeroconf
PORT=8080
zeroconf = Zeroconf()
wsInfo = ServiceInfo('_http._tcp.local.',
"myhost._http._tcp.local.",
PORT, 0, 0, {"random_key": "1234", "answer": "42"})
zeroconf.register_service(wsInfo)
import time
time.sleep(1000);
Note that anything beyond PORT
is optional for ServiceInfo()
.
You can run multiple of these programs at the same time; they will all bind to the same UDP port without a problem.