Thread overview
Get Local Ip Address?
Jun 05, 2007
okibi
Jun 05, 2007
okibi
Jun 06, 2007
okibi
Jun 06, 2007
Thomas Kuehne
June 05, 2007
Hey,

I was wondering if there is a simply way to get the public IP address of the machine. I need it to work on Windows and Linux.

Is there a simply way that will work on both?

Thanks!
June 05, 2007
Are you wanting the public IP address, or just the machine's IP address?

Example: my computer is in a network, so it's IP starts with 172.16. But, my public IP address starts with 72 or something (for my entire network.)

To get the machine IP, it's going to be more system-specific, and I don't know off hand how.  To get the public IP, you have to check an external source - e.g. http://www.whatismyip.org/.

-[Unknown]


okibi wrote:
> Hey,
> 
> I was wondering if there is a simply way to get the public IP address of the machine. I need it to work on Windows and Linux.
> 
> Is there a simply way that will work on both?
> 
> Thanks!
June 05, 2007
Assuming the computer is connected directly to the internet (via a cable modem or such), then it's IP should be the public IP. I guess, however, I'm asking how to get the machine's IP.

Thanks.

Unknown W. Brackets Wrote:

> Are you wanting the public IP address, or just the machine's IP address?
> 
> Example: my computer is in a network, so it's IP starts with 172.16. But, my public IP address starts with 72 or something (for my entire network.)
> 
> To get the machine IP, it's going to be more system-specific, and I don't know off hand how.  To get the public IP, you have to check an external source - e.g. http://www.whatismyip.org/.
> 
> -[Unknown]
> 
> 
> okibi wrote:
> > Hey,
> > 
> > I was wondering if there is a simply way to get the public IP address of the machine. I need it to work on Windows and Linux.
> > 
> > Is there a simply way that will work on both?
> > 
> > Thanks!

June 06, 2007
Most computers are not connected directly, since they usually have a firewall (which most of the time involves a nat) in between.

I've never had need to get a machine's IP (always let it be configurable or use ADDR_ANY) so I'm afraid I don't know how.  I'm sure there's a way, but I suspect it varies by platform.

-[Unknown]


okibi wrote:
> Assuming the computer is connected directly to the internet (via a cable modem or such), then it's IP should be the public IP. I guess, however, I'm asking how to get the machine's IP.
> 
> Thanks.
> 
> Unknown W. Brackets Wrote:
> 
>> Are you wanting the public IP address, or just the machine's IP address?
>>
>> Example: my computer is in a network, so it's IP starts with 172.16. But, my public IP address starts with 72 or something (for my entire network.)
>>
>> To get the machine IP, it's going to be more system-specific, and I don't know off hand how.  To get the public IP, you have to check an external source - e.g. http://www.whatismyip.org/.
>>
>> -[Unknown]
>>
>>
>> okibi wrote:
>>> Hey,
>>>
>>> I was wondering if there is a simply way to get the public IP address of the machine. I need it to work on Windows and Linux.
>>>
>>> Is there a simply way that will work on both?
>>>
>>> Thanks!
> 
June 06, 2007
I know there's a way, and I can do it in C++, but I was just wondering if there is an easy multi-platform solution in D.

Thanks guys!

Unknown W. Brackets Wrote:

> Most computers are not connected directly, since they usually have a firewall (which most of the time involves a nat) in between.
> 
> I've never had need to get a machine's IP (always let it be configurable or use ADDR_ANY) so I'm afraid I don't know how.  I'm sure there's a way, but I suspect it varies by platform.
> 
> -[Unknown]
> 
> 
> okibi wrote:
> > Assuming the computer is connected directly to the internet (via a cable modem or such), then it's IP should be the public IP. I guess, however, I'm asking how to get the machine's IP.
> > 
> > Thanks.
> > 
> > Unknown W. Brackets Wrote:
> > 
> >> Are you wanting the public IP address, or just the machine's IP address?
> >>
> >> Example: my computer is in a network, so it's IP starts with 172.16. But, my public IP address starts with 72 or something (for my entire network.)
> >>
> >> To get the machine IP, it's going to be more system-specific, and I don't know off hand how.  To get the public IP, you have to check an external source - e.g. http://www.whatismyip.org/.
> >>
> >> -[Unknown]
> >>
> >>
> >> okibi wrote:
> >>> Hey,
> >>>
> >>> I was wondering if there is a simply way to get the public IP address of the machine. I need it to work on Windows and Linux.
> >>>
> >>> Is there a simply way that will work on both?
> >>>
> >>> Thanks!
> > 

June 06, 2007
okibi schrieb am 2007-06-06:
> I know there's a way, and I can do it in C++, but I was just wondering if there is an easy multi-platform solution in D.

There isn't. If you have an open socket you can get the local IP,
however all network connected systems have at least 2 IPs:
127.0.0.1(IPv4) / ::1(IPv6) and a public one like 89.50.67.60.

Many have more IPs (e.g. the system I'm posting from has 5 different ones), thus I'd like to know how you get the right local IP with C++.

Thomas