On Sun, Mar 7, 2010 at 8:02 AM, james anderson <james.anderson@setf.de> wrote:
good evening;

i asked chun tian about this some while ago and he didn't think it was necessary as the 0.0.0.0 address suffices for most purposes.

Yes, for listening for messages, the 0.0.0.0 is quite sufficient.

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.

I'm wondering if there is any way to determine the local host address (or addresses) used when I create a socket with :local-host *wildcard-host* . When I try to call get-local-address on such a socket, I just get #(0 0 0 0).

Thanks.



--
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to predict the future is to invent it." - Alan Kay