Auf Englisch lesen

Freigeben über


IPAddress Klasse

Definition

Stellt eine Internetprotokolladresse (IP) bereit.

C#
public class IPAddress
C#
public class IPAddress : IParsable<System.Net.IPAddress>, ISpanFormattable, ISpanParsable<System.Net.IPAddress>, IUtf8SpanFormattable
C#
[System.Serializable]
public class IPAddress
Vererbung
IPAddress
Attribute
Implementiert

Beispiele

Das folgende Codebeispiel zeigt, wie Sie einen Server abfragen, um die Familienadressen und die unterstützten IP-Adressen abzurufen.

C#

// 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.GetHostEntry(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: InterNetworkV6. 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 autoconfiguration first phase.
          Console.WriteLine("IPv6None: " + IPAddress.IPv6None.ToString());

          Console.WriteLine("IsLoopback(IPv6Loopback): " + IPAddress.IsLoopback(IPAddress.IPv6Loopback));
        }
        Console.WriteLine("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback));
      }
      catch (Exception e)
      {
        Console.WriteLine("[IPAddresses] Exception: " + e.ToString());
      }
    }

    public static void Main(string[] args)
    {
      string server = null;

      // Define a regular expression to parse user's input.
      // This is a security check. It allows only
      // alphanumeric input string between 2 to 40 character long.
      Regex rex = new Regex(@"^[a-zA-Z]\w{1,39}$");

      if (args.Length < 1)
      {
        // If no server name is passed as an argument to this program, use the current
        // server name as default.
        server = Dns.GetHostName();
        Console.WriteLine("Using current host: " + server);
      }
      else
      {
        server = args[0];
        if (!(rex.Match(server)).Success)
        {
          Console.WriteLine("Input string format not allowed.");
          return;
        }
      }

      // Get the list of the addresses associated with the requested server.
      IPAddresses(server);

      // Get additional address information.
      IPAddressAdditionalInfo();
    }
  }
}

Hinweise

Die IPAddress -Klasse enthält die Adresse eines Computers in einem IP-Netzwerk.

Konstruktoren

IPAddress(Byte[])

Initialisiert eine neue Instanz der IPAddress-Klasse mit der Adresse, die als Byte-Array angegeben ist.

IPAddress(Byte[], Int64)

Initialisiert eine neue Instanz der IPAddress-Klasse mit der Adresse, die als Byte-Array angegeben ist, und dem angegebenen Bezeichner für den Gültigkeitsbereich.

IPAddress(Int64)

Initialisiert eine neue Instanz der IPAddress-Klasse mit der Adresse, die als Int64 angegeben ist.

IPAddress(ReadOnlySpan<Byte>)

Initialisiert eine neue Instanz der IPAddress-Klasse mit der Adresse, die als Bytespanne angegeben ist

IPAddress(ReadOnlySpan<Byte>, Int64)

Initialisiert eine neue Instanz der IPAddress-Klasse mit der Adresse, die als Bytespanne angegeben ist, und dem angegebenen Bezeichner für den Gültigkeitsbereich.

Felder

Any

Stellt eine IP-Adresse bereit, die angibt, dass der Server die Clientaktivität an allen Netzwerkschnittstellen überwachen soll. Dieses Feld ist schreibgeschützt.

Broadcast

Stellt die IP-Übertragungsadresse bereit. Dieses Feld ist schreibgeschützt.

IPv6Any

Die Bind(EndPoint)-Methode gibt über das IPv6Any-Feld an, dass ein Socket die Clientaktivität an allen Netzwerkschnittstellen überwachen muss.

IPv6Loopback

Stellt die IP-Loopback-Adresse bereit. Diese Eigenschaft ist schreibgeschützt.

IPv6None

Stellt eine IP-Adresse bereit, die angibt, dass keine Netzwerkschnittstelle verwendet werden soll. Diese Eigenschaft ist schreibgeschützt.

Loopback

Stellt die IP-Loopback-Adresse bereit. Dieses Feld ist schreibgeschützt.

None

Stellt eine IP-Adresse bereit, die angibt, dass keine Netzwerkschnittstelle verwendet werden soll. Dieses Feld ist schreibgeschützt.

Eigenschaften

Address
Veraltet.
Veraltet.
Veraltet.
Veraltet.
Veraltet.

Eine Internetprotokolladresse (IP-Adresse).

AddressFamily

Ruft die Adressfamilie der IP-Adresse ab.

IsIPv4MappedToIPv6

Ruft ab, ob die IP Adresse eine globale IPv4-zugeordnete IPv6 Adresse ist.

IsIPv6LinkLocal

Ruft ab, ob die Adresse eine IPv6-Link-Local-Adresse ist.

IsIPv6Multicast

Ruft ab, ob die Adresse eine globale IPv6-Multicastadresse ist.

IsIPv6SiteLocal

Ruft ab, ob die Adresse eine IPv6-Site-Local-Adresse ist.

IsIPv6Teredo

Ruft einen Wert ab, der angibt, ob die Adresse eine IPv6-Teredo-Adresse ist.

IsIPv6UniqueLocal

Ruft ab, ob es sich bei der Adresse um eine eindeutige lokale IPv6-Adresse handelt.

ScopeId

Ruft den Bezeichner für den Gültigkeitsbereich der IPv6-Adresse ab oder legt diesen fest.

Methoden

Equals(Object)

Vergleicht zwei IP-Adressen.

GetAddressBytes()

Stellt eine Kopie des IPAddress als Array von Bytes in Netzwerkreihenfolge bereit.

GetHashCode()

Gibt einen Hashwert für eine IP-Adresse zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HostToNetworkOrder(Int16)

Konvertiert einen kurzen Wert vom Typ Short aus der Host-Bytereihenfolge in die Netzwerk-Bytereihenfolge.

HostToNetworkOrder(Int32)

Konvertiert einen ganzzahligen Wert aus der Host-Bytereihenfolge in die Netzwerk-Bytereihenfolge.

HostToNetworkOrder(Int64)

Konvertiert einen Wert vom Typ Long aus der Host-Bytereihenfolge in die Netzwerk-Bytereihenfolge.

IsLoopback(IPAddress)

Gibt an, ob es sich bei der angegebenen IP-Adresse um die Loopback-Adresse handelt.

MapToIPv4()

Ordnet das IPAddress-Objekt einer IPv4-Adresse zu.

MapToIPv6()

Ordnet das IPAddress-Objekt einer IPv6-Adresse zu.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
NetworkToHostOrder(Int16)

Konvertiert einen Wert vom Typ Short aus der Netzwerk-Bytereihenfolge in die Host-Bytereihenfolge.

NetworkToHostOrder(Int32)

Konvertiert einen ganzzahligen Wert aus der Netzwerk-Bytereihenfolge in die Host-Bytereihenfolge.

NetworkToHostOrder(Int64)

Konvertiert einen Wert vom Typ Long aus der Netzwerk-Bytereihenfolge in die Host-Bytereihenfolge.

Parse(ReadOnlySpan<Char>)

Konvertiert eine als Zeichenspanne dargestellte IP-Adresse in eine IPAddress-Instanz.

Parse(String)

Konvertiert eine IP-Adresszeichenfolge in eine IPAddress-Instanz.

ToString()

Konvertiert Internetadressen in die jeweilige Standardnotation.

TryFormat(Span<Byte>, Int32)

Versucht, die aktuelle IP-Adresse in die angegebene Spanne zu formatieren.

TryFormat(Span<Char>, Int32)

Versucht, die aktuelle IP-Adresse in die angegebene Spanne zu formatieren.

TryParse(ReadOnlySpan<Char>, IPAddress)

Versucht, eine Spanne von Zeichen in einen Wert zu analysieren.

TryParse(String, IPAddress)

Bestimmt, ob eine Zeichenfolge eine gültige IP-Adresse ist.

TryWriteBytes(Span<Byte>, Int32)

Versucht, die aktuelle IP-Adresse in eine Bytespanne in Netzwerkreihenfolge zu schreiben.

Explizite Schnittstellenimplementierungen

IFormattable.ToString(String, IFormatProvider)

Formatiert den Wert der aktuellen Instanz mit dem angegebenen Format.

IParsable<IPAddress>.Parse(String, IFormatProvider)

Analysiert eine Zeichenfolge in einen Wert.

IParsable<IPAddress>.TryParse(String, IFormatProvider, IPAddress)

Versucht, eine Zeichenfolge in einen IPAddresszu analysieren.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Versucht, den Wert der aktuellen Instanz in die angegebene Zeichenspanne zu formatieren.

ISpanParsable<IPAddress>.Parse(ReadOnlySpan<Char>, IFormatProvider)

Analysiert eine Spanne von Zeichen in einen Wert.

ISpanParsable<IPAddress>.TryParse(ReadOnlySpan<Char>, IFormatProvider, IPAddress)

Versucht, eine Spanne von Zeichen in einen Wert zu analysieren.

IUtf8SpanFormattable.TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Versucht, den Wert der aktuellen Instanz als UTF-8 in die angegebene Bytesspanne zu formatieren.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0