IPAddress Klass

Definition

Tillhandahåller en IP-adress (Internet Protocol).

public ref class IPAddress
public class IPAddress
[System.Serializable]
public class IPAddress
type IPAddress = class
[<System.Serializable>]
type IPAddress = class
Public Class IPAddress
Arv
IPAddress
Attribut

Exempel

Följande kodexempel visar hur du frågar en server för att hämta familjeadresserna och de IP-adresser som den stöder.


// 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();
    }
  }
}
' This program shows how to use the IPAddress class to obtain a server 
' IP addressess and related information.
Imports System.Net
Imports System.Net.Sockets
Imports System.Text.RegularExpressions

Namespace Mssc.Services.ConnectionManagement
  Module M_TestIPAddress

    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 Shared Sub IPAddresses(ByVal server As String)
        Try
          Dim ASCII As New System.Text.ASCIIEncoding()

          ' Get server related information.
          Dim heserver As IPHostEntry = Dns.Resolve(server)

          ' Loop on the AddressList
          Dim curAdd As IPAddress
          For Each 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() Then
              Console.WriteLine(("Scope Id: " + curAdd.ScopeId.ToString()))
            End If

            ' 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: ")



            Dim bytes As [Byte]() = curAdd.GetAddressBytes()
            Dim i As Integer
            For i = 0 To bytes.Length - 1
              Console.Write(bytes(i))
            Next i
            Console.WriteLine(ControlChars.Cr + ControlChars.Lf)
          Next curAdd 

        Catch e As Exception
          Console.WriteLine(("[DoResolve] Exception: " + e.ToString()))
        End Try
      End Sub


      ' This IPAddressAdditionalInfo displays additional server address information.
      Private Shared Sub IPAddressAdditionalInfo()
        Try
          ' Display the flags that show if the server supports IPv4 or IPv6
          ' address schemas.
          Console.WriteLine((ControlChars.Cr + ControlChars.Lf + "SupportsIPv4: " + Socket.SupportsIPv4.ToString()))
          Console.WriteLine(("SupportsIPv6: " + Socket.SupportsIPv6.ToString()))

          If Socket.SupportsIPv6 Then
            ' Display the server Any address. This IP address indicates that the server 
            ' should listen for client activity on all network interfaces. 
            Console.WriteLine((ControlChars.Cr + ControlChars.Lf + "IPv6Any: " + 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).ToString()))
          End If
          Console.WriteLine(("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback).ToString()))
        Catch e As Exception
          Console.WriteLine(("[IPAddresses] Exception: " + e.ToString()))
        End Try
      End Sub

      Public Shared Sub Main(ByVal args() As String)
        Dim server As String = Nothing

        ' 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.
        Dim rex As New Regex("^[a-zA-Z]\w{1,39}$")

        If args.Length < 1 Then
          ' 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 Not rex.Match(server).Success Then
            Console.WriteLine("Input string format not allowed.")
            Return
          End If
        End If

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

        ' Get additional address information.
        IPAddressAdditionalInfo()
      End Sub
    End Class
  End Module
End Namespace

Kommentarer

Klassen IPAddress innehåller adressen till en dator i ett IP-nätverk.

Konstruktorer

Name Description
IPAddress(Byte[], Int64)

Initierar en ny instans av IPAddress klassen med adressen angiven som en Byte matris och den angivna omfångsidentifieraren.

IPAddress(Byte[])

Initierar en ny instans av IPAddress klassen med adressen angiven som en Byte matris.

IPAddress(Int64)

Initierar en ny instans av IPAddress klassen med adressen angiven som en Int64.

IPAddress(ReadOnlySpan<Byte>, Int64)

Initierar en ny instans av IPAddress klassen med den adress som anges som ett byteintervall och den angivna omfångsidentifieraren.

IPAddress(ReadOnlySpan<Byte>)

Initierar en ny instans av IPAddress klassen med adressen angiven som ett byteintervall.

Fält

Name Description
Any

Tillhandahåller en IP-adress som anger att servern måste lyssna efter klientaktivitet i alla nätverksgränssnitt. Detta fält är skrivskyddat.

Broadcast

Tillhandahåller IP-sändningsadressen. Detta fält är skrivskyddat.

IPv6Any

Metoden Bind(EndPoint) använder fältet IPv6Any för att ange att en Socket måste lyssna efter klientaktivitet i alla nätverksgränssnitt.

IPv6Loopback

Tillhandahåller IP-loopback-adressen. Den här egenskapen är skrivskyddad.

IPv6None

Tillhandahåller en IP-adress som anger att inget nätverksgränssnitt ska användas. Den här egenskapen är skrivskyddad.

Loopback

Tillhandahåller IP-loopback-adressen. Detta fält är skrivskyddat.

None

Tillhandahåller en IP-adress som anger att inget nätverksgränssnitt ska användas. Detta fält är skrivskyddat.

Egenskaper

Name Description
Address
Föråldrad.
Föråldrad.
Föråldrad.

En IP-adress (Internet Protocol).

AddressFamily

Hämtar IP-adressens adressfamilj.

IsIPv4MappedToIPv6

Hämtar om IP-adressen är en IPv4-mappad IPv6-adress.

IsIPv6LinkLocal

Hämtar om adressen är en lokal IPv6-länkadress.

IsIPv6Multicast

Hämtar om adressen är en global IPv6-adress för flera sändningar.

IsIPv6SiteLocal

Hämtar om adressen är en lokal IPv6-webbplatsadress.

IsIPv6Teredo

Hämtar om adressen är en IPv6 Teredo-adress.

ScopeId

Hämtar eller anger IPv6-adressomfångsidentifieraren.

Metoder

Name Description
Equals(Object)

Jämför två IP-adresser.

GetAddressBytes()

Tillhandahåller en kopia av IPAddress som en matris med byte i nätverksordning.

GetHashCode()

Returnerar ett hash-värde för en IP-adress.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
HostToNetworkOrder(Int16)

Konverterar ett kort värde från värdbyteordning till nätverksbyteordning.

HostToNetworkOrder(Int32)

Konverterar ett heltalsvärde från värdbyteordning till nätverksbyteordning.

HostToNetworkOrder(Int64)

Konverterar ett långt värde från värdbyteordning till nätverksbyteordning.

IsLoopback(IPAddress)

Anger om den angivna IP-adressen är loopback-adressen.

MapToIPv4()

Mappar objektet IPAddress till en IPv4-adress.

MapToIPv6()

Mappar objektet IPAddress till en IPv6-adress.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
NetworkToHostOrder(Int16)

Konverterar ett kort värde från nätverksbyteordningen till värd för byteordning.

NetworkToHostOrder(Int32)

Konverterar ett heltalsvärde från nätverksbyteordningen till värd för byteordning.

NetworkToHostOrder(Int64)

Konverterar ett långt värde från nätverksbyteordningen till värdbyteordningen.

Parse(ReadOnlySpan<Char>)

Konverterar en IP-adress som representeras som ett teckenintervall till en IPAddress instans.

Parse(String)

Konverterar en IP-adresssträng till en IPAddress instans.

ToString()

Konverterar en Internetadress till dess standard notation.

TryFormat(Span<Char>, Int32)

Försöker formatera den aktuella IP-adressen till det angivna intervallet.

TryParse(ReadOnlySpan<Char>, IPAddress)

Försöker parsa ett teckenintervall till ett värde.

TryParse(String, IPAddress)

Avgör om en sträng är en giltig IP-adress.

TryWriteBytes(Span<Byte>, Int32)

Försöker skriva den aktuella IP-adressen till ett intervall med byte i nätverksordning.

Gäller för