* Added GetLocalHost() to Util

* ExternalHostName supports "SYSTEMIP" again.
afrisby
Adam Frisby 2007-07-30 21:12:29 +00:00
parent 74bb5282a0
commit e172e37c58
2 changed files with 28 additions and 1 deletions

View File

@ -207,7 +207,14 @@ namespace OpenSim.Framework.Types
this.m_internalEndPoint.Port = (int)configuration_result;
break;
case "external_host_name":
this.m_externalHostName = (string)configuration_result;
if ((string)configuration_result != "SYSTEMIP")
{
this.m_externalHostName = (string)configuration_result;
}
else
{
this.m_externalHostName = Util.GetLocalHost().ToString();
}
break;
case "terrain_file":
this.estateSettings.terrainFile = (string)configuration_result;

View File

@ -256,6 +256,26 @@ namespace OpenSim.Framework.Utilities
return null;
}
public static IPAddress GetLocalHost()
{
string dnsAddress = "localhost";
IPAddress[] hosts = Dns.GetHostEntry(dnsAddress).AddressList;
foreach (IPAddress host in hosts)
{
if (!IPAddress.IsLoopback(host) && host.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
return host;
}
}
if (hosts.Length > 0)
return hosts[0];
return null;
}
public Util()
{