Udostępnij za pośrednictwem


IPInterfaceProperties.AnycastAddresses Właściwość

Definicja

Pobiera wszystkie adresy IP emisji przypisane do tego interfejsu.

public:
 abstract property System::Net::NetworkInformation::IPAddressInformationCollection ^ AnycastAddresses { System::Net::NetworkInformation::IPAddressInformationCollection ^ get(); };
public abstract System.Net.NetworkInformation.IPAddressInformationCollection AnycastAddresses { get; }
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public abstract System.Net.NetworkInformation.IPAddressInformationCollection AnycastAddresses { get; }
member this.AnycastAddresses : System.Net.NetworkInformation.IPAddressInformationCollection
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.AnycastAddresses : System.Net.NetworkInformation.IPAddressInformationCollection
Public MustOverride ReadOnly Property AnycastAddresses As IPAddressInformationCollection

Wartość właściwości

Element IPAddressInformationCollection zawierający wszystkie adresy emisji dla tego interfejsu.

Atrybuty

Przykłady

Poniższy przykład kodu przedstawia wszystkie adresy emisji dla interfejsów sieciowych na komputerze lokalnym.

void DisplayAnycastAddresses()
{
    int count = 0;
            
    Console::WriteLine( "Anycast Addresses" );
    array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
    System::Collections::IEnumerator^ myEnum13 = adapters->GetEnumerator();
    while ( myEnum13->MoveNext() )
    {
        NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum13->Current);
        IPInterfaceProperties ^ adapterProperties = adapter->GetIPProperties();
        IPAddressInformationCollection ^ anyCast = adapterProperties->AnycastAddresses;
        if ( anyCast->Count > 0 )
        {
            Console::WriteLine( adapter->Description );
            System::Collections::IEnumerator^ myEnum14 = anyCast->GetEnumerator();
            while ( myEnum14->MoveNext() )
            {
                IPAddressInformation ^ any = safe_cast<IPAddressInformation ^>(myEnum14->Current);
                Console::WriteLine( "  Anycast Address .......................... : {0} {1} {2}", 
                    any->Address, any->IsTransient ? "Transient" : "", 
                    any->IsDnsEligible ? "DNS Eligible" : "" );
                count++;
            } 
            Console::WriteLine();
        }
    }
    if (count == 0)
    {
        Console::WriteLine("  No anycast addresses were found.");
        Console::WriteLine();
    }
}
public static void DisplayAnycastAddresses()
{
    int count = 0;

    Console.WriteLine("Anycast Addresses");
    NetworkInterface[] adapters  = NetworkInterface.GetAllNetworkInterfaces();
    foreach (NetworkInterface adapter in adapters)
    {
        IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
        IPAddressInformationCollection anyCast = adapterProperties.AnycastAddresses;
        if (anyCast.Count >0)
        {

            Console.WriteLine(adapter.Description);
            foreach (IPAddressInformation any in anyCast)
            {
                Console.WriteLine("  Anycast Address .......................... : {0} {1} {2}",
                    any.Address,
                    any.IsTransient ? "Transient" : "",
                    any.IsDnsEligible ? "DNS Eligible" : ""
                );
                count++;
            }
            Console.WriteLine();
        }
    }
    if (count == 0)
    {
        Console.WriteLine("  No anycast addressses were found.");
        Console.WriteLine();
    }
}
Public Shared Sub DisplayAnycastAddresses() 
    Dim count as Integer = 0
    
    Console.WriteLine("Anycast Addresses")
    Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
    Dim adapter As NetworkInterface
    For Each adapter In  adapters
        Dim adapterProperties As IPInterfaceProperties = adapter.GetIPProperties()
        Dim anyCast As IPAddressInformationCollection = adapterProperties.AnycastAddresses
        If anyCast.Count > 0 Then
            Console.WriteLine(adapter.Description)
            Dim any As IPAddressInformation
            For Each any In  anyCast
                Console.WriteLine("  Anycast Address .......................... : {0} {1} {2}", any.Address, IIf(any.IsTransient, "Transient", ""), IIf(any.IsDnsEligible, "DNS Eligible", ""))
            'TODO: For performance reasons this should be changed to nested IF statements
            'TODO: For performance reasons this should be changed to nested IF statements
                count += 1
            Next any
            Console.WriteLine()
        End If
    Next adapter

    if count = 0 then
        Console.WriteLine("  No anycast addresses were found.")
        Console.WriteLine()
    End if
End Sub

Uwagi

Dowolny adres emisji identyfikuje wiele komputerów. Pakiety wysyłane do dowolnego adresu emisji są wysyłane do jednego z komputerów zidentyfikowanych przez adres. Adresowanie anycast to funkcja IPv6 używana do aktualizowania tabel routera dla grupy hostów.

Dotyczy