Ler em inglês

Partilhar via


IPAddress Classe

Definição

Fornece um endereço IP (Internet Protocol).

C#
public class IPAddress
C#
public class IPAddress : IParsable<System.Net.IPAddress>, ISpanFormattable, ISpanParsable<System.Net.IPAddress>, IUtf8SpanFormattable
C#
[System.Serializable]
public class IPAddress
Herança
IPAddress
Atributos
Implementações

Exemplos

O exemplo de código a seguir mostra como consultar um servidor para obter os endereços da família e os endereços IP compatíveis.

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();
    }
  }
}

Comentários

A IPAddress classe contém o endereço de um computador em uma rede IP.

Construtores

IPAddress(Byte[])

Inicializa uma nova instância da classe IPAddress com o endereço especificado como uma matriz Byte.

IPAddress(Byte[], Int64)

Inicializa uma nova instância da classe IPAddress com o endereço especificado como uma matriz Byte e o identificador de escopo especificado.

IPAddress(Int64)

Inicializa uma nova instância da classe IPAddress com o endereço especificado como um Int64.

IPAddress(ReadOnlySpan<Byte>)

Inicializa uma nova instância da classe IPAddress com o endereço especificado como um intervalo de bytes.

IPAddress(ReadOnlySpan<Byte>, Int64)

Inicializa uma nova instância da classe IPAddress com o endereço especificado como um intervalo de bytes e o identificador de escopo especificado.

Campos

Any

Fornece um endereço IP que indica que o servidor deve ouvir a atividade do cliente em todas as interfaces de rede. Este campo é somente leitura.

Broadcast

Fornece o endereço IP de difusão. Este campo é somente leitura.

IPv6Any

O método Bind(EndPoint) utiliza o campo IPv6Any para indicar que um Socket deve escutar a atividade de cliente em todos os adaptadores de rede.

IPv6Loopback

Fornece o endereço de loopback de IP. Esta propriedade é somente para leitura.

IPv6None

Fornece um endereço IP que indica que nenhum adaptador de rede deve ser usado. Esta propriedade é somente para leitura.

Loopback

Fornece o endereço de loopback de IP. Este campo é somente leitura.

None

Fornece um endereço IP que indica que nenhum adaptador de rede deve ser usado. Este campo é somente leitura.

Propriedades

Address
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.

Um endereço IP (Internet Protocol).

AddressFamily

Obtém a família de endereços do endereço IP.

IsIPv4MappedToIPv6

Determina se o endereço IP é um endereço IPv6 mapeado por IPv4.

IsIPv6LinkLocal

Determina se o endereço é um endereço local do link IPv6.

IsIPv6Multicast

Determina se o endereço é um endereço global multicast IPv6.

IsIPv6SiteLocal

Determina se o endereço é um endereço local de site IPv6.

IsIPv6Teredo

Determina se o endereço é um endereço IPv6 Teredo.

IsIPv6UniqueLocal

Obtém se o endereço é um endereço Local Exclusivo IPv6.

ScopeId

Obtém ou define o identificador de escopo de endereço IPv6.

Métodos

Equals(Object)

Compara dois endereços IP.

GetAddressBytes()

Fornece uma cópia do IPAddress como uma matriz de bytes na ordem de rede.

GetHashCode()

Retorna um valor de hash para um endereço IP.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HostToNetworkOrder(Int16)

Converte um valor resumido da ordem de byte de host em ordem de byte de rede.

HostToNetworkOrder(Int32)

Converte um valor inteiro da ordem de byte de host para a ordem de byte de rede.

HostToNetworkOrder(Int64)

Converte um valor longo de ordem de byte de host em ordem de byte de rede.

IsLoopback(IPAddress)

Indica se o endereço IP especificado é o endereço de loopback.

MapToIPv4()

Mapeia o objeto IPAddress para um endereço IPv4.

MapToIPv6()

Mapeia o objeto IPAddress para um endereço IPv6.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
NetworkToHostOrder(Int16)

Converte um valor resumido da ordem de byte de rede em ordem de byte de host.

NetworkToHostOrder(Int32)

Converte um valor inteiro da ordem de byte de rede para a ordem de byte de host.

NetworkToHostOrder(Int64)

Converte um valor longo de ordem de byte de rede em ordem de byte de host.

Parse(ReadOnlySpan<Char>)

Converte um endereço IP representado como um intervalo de caracteres em uma instância de IPAddress.

Parse(String)

Converte uma cadeia de caracteres de endereços IP em uma instância IPAddress.

ToString()

Converte um endereço de Internet em uma notação padrão.

TryFormat(Span<Byte>, Int32)

Tenta formatar o endereço IP atual no intervalo fornecido.

TryFormat(Span<Char>, Int32)

Tenta formatar o endereço IP atual no intervalo fornecido.

TryParse(ReadOnlySpan<Char>, IPAddress)

Tenta analisar um intervalo de caracteres em um valor.

TryParse(String, IPAddress)

Determina se uma cadeia de caracteres é um endereço IP válido.

TryWriteBytes(Span<Byte>, Int32)

Tenta gravar o endereço IP atual em um intervalo de bytes na ordem de rede.

Implantações explícitas de interface

IFormattable.ToString(String, IFormatProvider)

Formata o valor da instância atual usando o formato especificado.

IParsable<IPAddress>.Parse(String, IFormatProvider)

Analisa uma cadeia de caracteres em um valor.

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

Tenta analisar uma cadeia de caracteres em um IPAddress.

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

Tenta formatar o valor da instância atual no intervalo fornecido de caracteres.

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

Analisa um intervalo de caracteres em um valor.

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

Tenta analisar um intervalo de caracteres em um valor.

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

Tenta formatar o valor da instância atual como UTF-8 no intervalo fornecido de bytes.

Aplica-se a

Produto Versões
.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