IPInterfaceProperties.AnycastAddresses Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает IP-адреса произвольной рассылки, назначенные интерфейсу.
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
Значение свойства
Объект IPAddressInformationCollection, содержащий адреса произвольной рассылки интерфейса.
- Атрибуты
Примеры
В следующем примере кода отображаются адреса anycast для сетевых интерфейсов на локальном компьютере.
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
Комментарии
Адрес anycast определяет несколько компьютеров. Пакеты, отправляемые на адрес anycast, отправляются на один из компьютеров, определенных по адресу. Любая адресация — это функция IPv6, используемая для обновления таблиц маршрутизаторов для группы узлов.