Compartir vía


IPInterfaceProperties.MulticastAddresses Propiedad

Definición

Obtiene las direcciones de multidifusión asignadas a esta interfaz.

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 de propiedad

Un objeto MulticastIPAddressInformationCollection que contiene las direcciones de multidifusión de esta interfaz.

Ejemplos

En el ejemplo de código siguiente se muestran las direcciones de multidifusión de las interfaces de red en el equipo 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

Comentarios

Una dirección de multidifusión identifica varios equipos. Los paquetes enviados a una dirección de multidifusión se envían a todos los equipos identificados por la dirección.

Se aplica a