Compartilhar via


IPInterfaceProperties.MulticastAddresses Propriedade

Definição

Obtém os endereços multicast atribuídos a esse adaptador.

public:
 abstract property System::Net::NetworkInformation::MulticastIPAddressInformationCollection ^ MulticastAddresses { System::Net::NetworkInformation::MulticastIPAddressInformationCollection ^ get(); };
public abstract System.Net.NetworkInformation.MulticastIPAddressInformationCollection MulticastAddresses { get; }
member this.MulticastAddresses : System.Net.NetworkInformation.MulticastIPAddressInformationCollection
Public MustOverride ReadOnly Property MulticastAddresses As MulticastIPAddressInformationCollection

Valor da propriedade

Um MulticastIPAddressInformationCollection que contém os endereços multicast para essa interface.

Exemplos

O exemplo de código a seguir exibe os endereços multicast para os adaptadores de rede no computador local.

void DisplayMulticastAddresses()
{
   int count = 0;
   
   Console::WriteLine( "Multicast Addresses" );
   array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
   System::Collections::IEnumerator^ myEnum15 = adapters->GetEnumerator();
   while ( myEnum15->MoveNext() )
   {
      NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum15->Current);
      IPInterfaceProperties ^ adapterProperties = adapter->GetIPProperties();
      MulticastIPAddressInformationCollection ^ multiCast = adapterProperties->MulticastAddresses;
      if ( multiCast->Count > 0 )
      {
         Console::WriteLine( adapter->Description );
         System::Collections::IEnumerator^ myEnum16 = multiCast->GetEnumerator();
         while ( myEnum16->MoveNext() )
         {
            MulticastIPAddressInformation ^ multi = safe_cast<MulticastIPAddressInformation ^>(myEnum16->Current);
            Console::WriteLine( "  Multicast Address ....................... : {0} {1} {2}", 
               multi->Address, multi->IsTransient ? "Transient" : "", 
               multi->IsDnsEligible ? "DNS Eligible" : "" );
            count++;   
         }
         Console::WriteLine();
      }
   }
    if (count == 0)
    {
        Console::WriteLine("  No multicast addresses were found.");
        Console::WriteLine();
    }
}
public static void DisplayMulticastAddresses()
{
    int count = 0;

    Console.WriteLine("Multicast Addresses");
    NetworkInterface[] adapters  = NetworkInterface.GetAllNetworkInterfaces();
    foreach (NetworkInterface adapter in adapters)
    {
        IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
        MulticastIPAddressInformationCollection multiCast = adapterProperties.MulticastAddresses;
        if (multiCast.Count > 0)
        {
            Console.WriteLine(adapter.Description);
            foreach (IPAddressInformation multi in multiCast)
            {
                Console.WriteLine("  Multicast Address ....................... : {0} {1} {2}",
                    multi.Address,
                    multi.IsTransient ? "Transient" : "",
                    multi.IsDnsEligible ? "DNS Eligible" : ""
                );
                count++;
            }
            Console.WriteLine();
        }
    }
    if (count == 0)
    {
        Console.WriteLine("  No multicast addressses were found.");
        Console.WriteLine();
    }
}
Public Shared Sub DisplayMulticastAddresses() 
    Dim count as Integer = 0
    
    Console.WriteLine("Multicast Addresses")
    Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
    Dim adapter As NetworkInterface
    For Each adapter In  adapters
        Dim adapterProperties As IPInterfaceProperties = adapter.GetIPProperties()
        Dim multiCast As MulticastIPAddressInformationCollection = adapterProperties.MulticastAddresses
        If multiCast.Count > 0 Then
            Console.WriteLine(adapter.Description)
            Dim multi As IPAddressInformation
            For Each multi In  multiCast
                Console.WriteLine("  Multicast Address ....................... : {0} {1} {2}", multi.Address, IIf(multi.IsTransient, "Transient", ""), IIf(multi.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 multi
            Console.WriteLine()
        End If
    Next adapter

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

End Sub

Comentários

Um endereço multicast identifica vários computadores. Os pacotes enviados para um endereço multicast são enviados para todos os computadores identificados pelo endereço.

Aplica-se a