On Mar 7, 2010, at 2:36 PM, Elliott Slaughter wrote:

> What I am actually trying to do is to search for other nodes on the local 
> network which are also running my application. My idea was to construct one 
> or more broadcast addresses, send UDP packets to each of them, and listen for 
> responses. This may not be the best way to go about this (and suggestions 
> would be appreciated), but if I choose this route, I would want to know the 
> IP address of each of the interfaces together with its subnet mask.
> 
> On 2010-03-07, at 07:20 , Elliott Slaughter wrote:
> 
> if you really need this, you might look at the implementation for 
> %get-ip-interfaces in clozure.
> it uses getifaddrs in a fairly transparent manner, so, if you're unix-based, 
> you should be ok with it.
> 
> I need this to work on Windows and *nix, which is why I can't use IOlib or 
> other Unix-based solutions. That said, Clozure does run on Windows, so 
> hopefully the code you mentioned has already been ported.

There's an internal function ccl::%get-ip-interfaces that's conditionalized for 
a bunch of platforms.  I can't really recommend that you use it, of course, but 
it might be something to look at.

I wonder if you could use zeroconf/bonjour?  It sounds like your application 
might be a good fit. There's a reference to a CL interface at 
http://www.cliki.net/CL-ZEROCONF (though I don't know how complete/portable it 
is).


_______________________________________________
usocket-devel mailing list
usocket-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel

Reply via email to