Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is this the correct approach?



Hi Scott,

On Feb 13, 2004, at 1:41 PM, Scott Atchley wrote:

We have a server that we want to be able to advertise via zeroconf. We have a client library that we want to be able to check for available servers in the local area as well. Our software is primarily for *nix, but it compiles for Darwin/MacOSX and for Windows using MinGW. We do not want to assume that the host machine is zeroconf enabled (our server is installed most frequently on Linux).

Zeroconf is not a noun, it's an adjective that describes the environment. So when you say "advertise via zeroconf", that doesn't make sense. There is no such thing as a Zeroconf protocol.


If you had said, advertise via mDNS-SD, or advertise via Rendezvous, that would make sense.


To use zeroconf, as I understand it, we will need to:

1. On the server, add a thread that listens for zeroconf requests for our service
2. On the server, periodically broadcast availability our service over multicast
3. On the client, add the ability to send multicast service requests and listen for responses

Yes, that's basically correct. However, the server will not periodically broadcast availability. It will announce its presence and then from that point, it will only respond when queried for.


You have two options. You can download the mDNSResponder project from Darwin CVS which includes an mDNSResponder daemon for Windows and *nix systems, and it exports the same DNSServiceDiscovery API used on Mac OS X. Note that Mac OS X has a built-in mDNSResponder.

Or you could download Howl from Porchdog, which also implements an mDNSResponder daemon for *nix and Windows, but it exports a slightly different API.

From there, you would advertise the service on the server, and then browse for the service on the client.


In zeroconf, is there some concept of a local area deamon that caches service announcements (like in SLP) or do all service providers (of that type) respond to each request for the service type?

Each mDNSResponder on the network will maintain a local cache of all records, so often times you can query for information without a packet going out on the wire. If the information being requested is not in the local cache, then each server machine will respond with the resource records which answer the particular query.


Hope that helps.

-Marc
_______________________________________________
rendezvous mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/rendezvous
Do not post admin requests to the list. They will be ignored.

References: 
 >CVS mDNSResponder vs. Howl on Linux (From: Christopher Smith <email@hidden>)
 >Re: CVS mDNSResponder vs. Howl on Linux (From: Scott Herscher <email@hidden>)
 >Is this the correct approach? (From: Scott Atchley <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.