Can Bonjour be used between Windows and Linux?

I compiled the Bonjour source code myself both for Linux and windows. Then I succeed in publishing and detecting services for two Windows devices. But I can't use Bonjour between a windows device and a Linux device. So is this a limitation? If not, any tips on how to solve it?

Accepted Reply

There’s no fundamental reason why you shouldn’t be able to advertise a service on Windows and discover it on Linux, or vice versa. Likewise for Apple platforms. All of these platforms speak the same on-the-wire protocol [1].

As to why that’s not working, I don’t support either of those platforms so it’s hard to say. If I were in your shoes I’d put all of these devices on the same network and then, on my Mac, use the dns-sd command-line tool to exercise the various cases. For example, if you advertise a service on both Windows and Linux and dns-sd can see one but not the other, it’s likely that you have an advertising problem on that one.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Remember that Bonjour is an Apple term for three industry-standard protocols:

Replies

There’s no fundamental reason why you shouldn’t be able to advertise a service on Windows and discover it on Linux, or vice versa. Likewise for Apple platforms. All of these platforms speak the same on-the-wire protocol [1].

As to why that’s not working, I don’t support either of those platforms so it’s hard to say. If I were in your shoes I’d put all of these devices on the same network and then, on my Mac, use the dns-sd command-line tool to exercise the various cases. For example, if you advertise a service on both Windows and Linux and dns-sd can see one but not the other, it’s likely that you have an advertising problem on that one.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Remember that Bonjour is an Apple term for three industry-standard protocols: