You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ideally, we would use the native mDNS service on the machine, since RFC 6762 says:
It is possible to have more than one Multicast DNS responder and/or querier implementation coexist on the same machine, but there are some known issues.
On MacOS, all systems have mDNSResponder installed already.
On Linux, it's unclear how common it is to have Avahi installed, nor whether we can install Avahi as part of the Linux CoMapeo installer.
On Windows, the situation seems complicated. We don't think it has mDNS by default. Apple has a Bonjour service for Windows that is installed by a few apps, but it's unclear how to distribute it ourselves.
If we use the native service, then we can use a module such as mdns to wraps that native service.
The alternative is a pure JavaScript implementation. The downside: JS mDNS modules are a bit of a mess, and we have not found one that correctly implements the RFCs, other than @homebridge/ciao, and that is only an advertiser; it does not implement browsing DNS-SD services. Other JS libraries all seem to have bugs or are poorly maintained.
There are a few ways forward:
On MacOS and Linux, we rely on the native service. We require Linux users to install Avahi daemon.
On Windows, we require that users install Bonjour independently.
We offer a fallback JS dns-sd implementation, understanding that it can be unreliable.
We find a way to distribute Bonjour for Windows with the app and install it as part of the app install process.
Prerequisite for #51.
There is no easy answer for how to do this.
Ideally, we would use the native mDNS service on the machine, since RFC 6762 says:
On MacOS, all systems have mDNSResponder installed already.
On Linux, it's unclear how common it is to have Avahi installed, nor whether we can install Avahi as part of the Linux CoMapeo installer.
On Windows, the situation seems complicated. We don't think it has mDNS by default. Apple has a Bonjour service for Windows that is installed by a few apps, but it's unclear how to distribute it ourselves.
If we use the native service, then we can use a module such as mdns to wraps that native service.
The alternative is a pure JavaScript implementation. The downside: JS mDNS modules are a bit of a mess, and we have not found one that correctly implements the RFCs, other than @homebridge/ciao, and that is only an advertiser; it does not implement browsing DNS-SD services. Other JS libraries all seem to have bugs or are poorly maintained.
There are a few ways forward:
Some links with more info:
The text was updated successfully, but these errors were encountered: