Skip to content

Instantly share code, notes, and snippets.

@zwetan
Created October 14, 2014 15:58
Show Gist options
  • Save zwetan/2aef56da841fc44b06bb to your computer and use it in GitHub Desktop.
Save zwetan/2aef56da841fc44b06bb to your computer and use it in GitHub Desktop.
obtain all the IP addresses of the localhost
import C.errno.*;
import C.arpa.inet.*;
import C.netdb.*;
import C.sys.socket.*;
import C.stdlib.*;
import C.unistd.*;
var hostname:String = gethostname();
trace( "hostname = " + hostname );
var hints:addrinfo = new addrinfo();
hints.ai_socktype = SOCK_STREAM;
hints.ai_family = AF_UNSPEC;
var eaierr:CEAIrror = new CEAIrror();
var addrlist:Array = getaddrinfo( hostname, "http", hints, eaierr );
if( !addrlist )
{
trace( eaierr );
exit(0);
}
trace( "found " + addrlist.length + " addresses" );
var i:uint;
var info:addrinfo;
for( i = 0; i < addrlist.length; i++ )
{
//trace( "addrlist[" + i + "] = " + addrlist[i] );
info = addrlist[i];
trace( "[" + i + "] = " + inet_ntop( info.ai_family, info.ai_addr ) );
}
//output
/*
hostname = test-PC
found 4 addresses
[0] = fe80::ddda:5bbc:4b4e:42ec
[1] = fe80::4ac:39e4:3f57:766e
[2] = 192.168.137.145
[3] = 2001:0:9d38:6ab8:4ac:39e4:3f57:766e
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment