From: Ben Giddings Date: 2005-01-20T05:03:55+09:00 Subject: Re: rendezvous support Sam Roberts wrote: > If you asked the folks who put this together, wouldn't they would help > you with this? Most likely. :) > Is it hard, or is it that its a C library and you haven't worked much > with building C libraries? Or are you on a windows box? I follow the > Apple rendezvous mailling list, and I get the impression they have a > windows release of the client library, at least, maybe the server, too. The problem is that it isn't a library. When I last downloaded the Apple source, sometime in December, it built a set of applications, but no library that I could see. The Ruby code, on the other hand, expected a library. I wasn't sure how to get from what I had to what I needed, and I only had a few hours to poke around at it, so I dropped it, but when it came back up on the list, I pounced. :) > As for pure-ruby, I'm working on this. WooHoo!! > - "browsing" - i.e., issuing a request and watching the net to see all > services as they are advertised. > > This last will be the most difficult for me... because it requires > listening to multicasts on port 5353, and I run OS X which already has > a Rendezvous implementation. The easiest way, oddly, might be to > implement a mDNS server in ruby, so that I can run it on a > non-standard port, and test my client on a non-standard port. Ouf. That's the part I really need. I have some computers that are all rendezvous-enabled, and I'm going to be writing a tool that deals with groups of them. I just need to know what's out there. >>For what it's worth, Python has a pure Python implementation of a mDNS / >>Rendezvous library, but it's badly broken. Right now at work, we're > > In what way? I'd like to avoid this brokenness, is it just bugs, or is > there something fundamental they are not doing well? I assume it's just bugs, but I haven't spent long on it either. The main problems are a complete lack of any kind of documentation, and the fact that the programs seem to mask SIG_INT, so if you start them you can only kill them from another terminal or something. It may be that they work perfectly aside from the SIG_INT issue, but I couldn't figure out how to use them because of the lack of docs. I don't think it's anything you'd have to worry about though, unless you're copying the Python code, line for line. Ben