日期:2014-05-19  浏览次数:20863 次

如何获取本机主机名和IP地址,请各位帮忙!
ASP.NET     C#

------解决方案--------------------
可以很容易获得客户端的IP,本机不懂
------解决方案--------------------
// This program shows how to use the IPAddress class to obtain a server
// IP addressess and related information.

using System;
using System.Net;
using System.Net.Sockets;
using System.Text.RegularExpressions;

namespace Mssc.Services.ConnectionManagement
{

class TestIPAddress
{

/**
* The IPAddresses method obtains the selected server IP address information.
* It then displays the type of address family supported by the server and its
* IP address in standard and byte format.
**/
private static void IPAddresses(string server)
{
try
{
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();

// Get server related information.
IPHostEntry heserver = Dns.Resolve(server);

// Loop on the AddressList
foreach (IPAddress curAdd in heserver.AddressList)
{


// Display the type of address family supported by the server. If the
// server is IPv6-enabled this value is: InternNetworkV6. If the server
// is also IPv4-enabled there will be an additional value of InterNetwork.
Console.WriteLine( "AddressFamily: " + curAdd.AddressFamily.ToString());

// Display the ScopeId property in case of IPV6 addresses.
if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString())
Console.WriteLine( "Scope Id: " + curAdd.ScopeId.ToString());


// Display the server IP address in the standard format. In
// IPv4 the format will be dotted-quad notation, in IPv6 it will be
// in in colon-hexadecimal notation.
Console.WriteLine( "Address: " + curAdd.ToString());

// Display the server IP address in byte format.
Console.Write( "AddressBytes: ");


Byte[] bytes = curAdd.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
Console.Write(bytes[i]);
}

Console.WriteLine( "\r\n ");

}

}
catch (Exception e)
{
Console.WriteLine( "[DoResolve] Exception: " + e.ToString());
}
}

// This IPAddressAdditionalInfo displays additional server address information.
private static void IPAddressAdditionalInfo()
{
try
{
// Display the flags that show if the server supports IPv4 or IPv6
// address schemas.
Console.WriteLine( "\r\nSupportsIPv4: " + Socket.SupportsIPv4);
Console.WriteLine( "SupportsIPv6: " + Socket.SupportsIPv6);

if (Socket.SupportsIPv6)
{
// Display the server Any address. This IP address indicates that the server
// should listen for client activity on all network interfaces.
Console.WriteLine( "\r\nIPv6Any: " + IPAddress.IPv6Any.ToString());

// Display the server loopback address.
Console.WriteLine( "IPv6Loopback: " + IPAddress.IPv6Loopback.ToString());

// Used during