Getting the local IP address! (was Re: Scanning machines on a network)

Dar Scott dsc at swcp.com
Fri Mar 15 04:30:01 EST 2002


On Friday, March 15, 2002, at 01:14 AM, andu wrote:

> Connecting to your router should do, then. The idea is that if you 
> don't
> want to or can't use built-in tools like ipconfig/ifconfig (must 
> be some
> way for Mac too) you must use some external reference point to find out
> the IP address.

There's the rub.

You have helped me get my thoughts together on this:

A nice solution would be platform independent.  Using a different 
method for each platform is awkward.  The next platform might not 
be included.

The ipconfig/ifconfig solution is reliable, but will only work on 
two classes of platforms.  There is no shell command for Rev on OS 
X yet, it seems.

The hostAddress() of a UDP socket to a broadcast address works for 
W2K, but (assuming I understood Andu right) does not work for Linux.

The hostAddress() of a UDP socket to a public IP address will 
probably only work if the computer knows a gateway to the 
Internet.  I worry the open would fail if there is only a closed 
LAN.  (I haven't tested this.)

The hostAddress() of a UDP socket to an arbitrary private address 
might fail for the same reason; it is not likely to be in the local 
subnet.

If a person writes a stack and has no idea of the what LAN it will 
eventually run on, how does that stack get the local IP?

It looks to me that there is no good way to get the local IP 
address in Revolution.

Thanks Andu for letting me know about hostAddress of a UDP socket 
to a boardcast address not working on Linux.  And thanks for 
helping me think through this.

Dar




More information about the use-livecode mailing list