On Sunday, February 23, 2003, at 11:48 AM, Matthew Toseland wrote:


While trying to get freenet working on Kaffe, I discovered a side
issue... we use the attached code to detect the local internet IP
address. Basically, we open a datagram socket to the A-root nameserver
and call getLocalAddress().

why not just use InetAddress.getLocalHost()? Or, useNetworkInterface.getNetworkInterfaces() and handle the NoClassDefFoundError with this method.


This returns 0.0.0.0 on Kaffe CVS;

Its probably wrong, but its a very gray area and making dependencies on it doesn't seem like a good idea. The javadoc for getLocalAddress() says it returns "the local address to which the socket is bound, or an InetAddress representing any local address." Since the attached example didn't do a bind its technically correct to return the any address (0.0.0.0). Also, connecting a datagram socket discriminates on the remote address, not the network interface. So, again, its very dodgy behavior to be relying on.


--
Matthew Toseland

tim



_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to