MulticastSocket Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP.
[Android.Runtime.Register("java/net/MulticastSocket", DoNotGenerateAcw=true)]
public class MulticastSocket : Java.Net.DatagramSocket
[<Android.Runtime.Register("java/net/MulticastSocket", DoNotGenerateAcw=true)>]
type MulticastSocket = class
inherit DatagramSocket
- Herencia
- Atributos
Comentarios
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. MulticastSocket es un DatagramSocket (UDP), con funcionalidades adicionales para unir "grupos" de otros hosts de multidifusión en Internet.
Un grupo de multidifusión se especifica mediante una dirección IP de clase D y un número de puerto UDP estándar. Las direcciones IP de clase D están en el intervalo 224.0.0.0 a 239.255.255.255, ambos incluidos. La dirección 224.0.0.0 está reservada y no debe usarse.
Una se uniría a un grupo de multidifusión mediante la creación de un multicastSocket con el puerto deseado y, a continuación, invocaría el joinGroup(InetAddress groupAddr) método :
// join a Multicast group and send the group salutations
...
String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5.6.7");
MulticastSocket s = new MulticastSocket(6789);
s.joinGroup(group);
byte[] bytes = msg.getBytes(StandardCharsets.UTF_8);
DatagramPacket hi = new DatagramPacket(bytes, bytes.length,
group, 6789);
s.send(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
...
// OK, I'm done talking - leave the group...
s.leaveGroup(group);
Cuando uno envía un mensaje a un grupo de multidifusión, <B>todos los<> destinatarios suscritos a ese host y puerto reciben el mensaje (dentro del intervalo de tiempo de vida del paquete, consulte a continuación). El socket no debe ser miembro del grupo de multidifusión para enviar mensajes a él.
Cuando un socket se suscribe a un grupo o puerto de multidifusión, recibe datagramas enviados por otros hosts al grupo o puerto, al igual que todos los demás miembros del grupo y puerto. Un socket renuncia a la pertenencia a un grupo por el método leaveGroup(InetAddress addr). <B> Multiple MulticastSocket's</B> puede suscribirse a un grupo de multidifusión y puerto simultáneamente, y todos recibirán datagramas de grupo.
Actualmente, los applets no pueden usar sockets de multidifusión.
Agregado en la versión 1.1.
Documentación de Java para java.net.MulticastSocket.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| Nombre | Description |
|---|---|
| MulticastSocket() |
Cree un socket de multidifusión. |
| MulticastSocket(Int32) |
Cree un socket de multidifusión y vincule a un puerto específico. |
| MulticastSocket(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
| MulticastSocket(SocketAddress) |
Cree un objeto MulticastSocket enlazado a la dirección de socket especificada. |
Propiedades
| Nombre | Description |
|---|---|
| Broadcast |
Comprueba si SO_BROADCAST está habilitado. -o bien- Habilitar o deshabilitar SO_BROADCAST. (Heredado de DatagramSocket) |
| Channel |
Devuelve el objeto único |
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| InetAddress |
Devuelve la dirección a la que está conectado este socket. (Heredado de DatagramSocket) |
| Interface |
Recupere la dirección de la interfaz de red usada para los paquetes de multidifusión. -o bien- Establezca la interfaz de red de multidifusión utilizada por métodos cuyo comportamiento se vería afectado por el valor de la interfaz de red. |
| IsBound |
Devuelve el estado de enlace del socket. (Heredado de DatagramSocket) |
| IsClosed |
Devuelve si el socket está cerrado o no. (Heredado de DatagramSocket) |
| IsConnected |
Devuelve el estado de conexión del socket. (Heredado de DatagramSocket) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| JniPeerMembers |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. |
| LocalAddress |
Obtiene la dirección local a la que está enlazado el socket. (Heredado de DatagramSocket) |
| LocalPort |
Devuelve el número de puerto en el host local al que está enlazado este socket. (Heredado de DatagramSocket) |
| LocalSocketAddress |
Devuelve la dirección del punto de conexión al que está enlazado este socket. (Heredado de DatagramSocket) |
| LoopbackMode |
Obtenga la configuración de bucle invertido local de datagramas de multidifusión. -o bien- Deshabilitar o habilitar el bucle invertido local de datagramas de multidifusión La opción la usa el código de red de la plataforma como sugerencia para establecer si los datos de multidifusión se volverán a recorrer en bucle al socket local. |
| NetworkInterface |
Obtenga el conjunto de interfaz de red de multidifusión. -o bien- Especifique la interfaz de red para los datagramas de multidifusión salientes enviados en este socket. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| Port |
Devuelve el número de puerto al que está conectado este socket. (Heredado de DatagramSocket) |
| ReceiveBufferSize |
Obtenga el valor de la opción SO_RCVBUF para este |
| RemoteSocketAddress |
Devuelve la dirección del punto de conexión al que está conectado este socket o |
| ReuseAddress |
Comprueba si SO_REUSEADDR está habilitado. -o bien- Habilitar o deshabilitar la opción de socket de SO_REUSEADDR. (Heredado de DatagramSocket) |
| SendBufferSize |
Obtenga el valor de la opción SO_SNDBUF para este |
| SoTimeout |
Recuperar la configuración de SO_TIMEOUT. -o bien- Habilitar o deshabilitar SO_TIMEOUT con el tiempo de espera especificado, en milisegundos. (Heredado de DatagramSocket) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| TimeToLive |
Obtenga el período de vida predeterminado para los paquetes de multidifusión enviados en el socket. -o bien- Establezca el tiempo de vida predeterminado para los paquetes de multidifusión enviados en este |
| TrafficClass |
Obtiene la clase de tráfico o el tipo de servicio en el encabezado de datagrama IP para los paquetes enviados desde este DatagramSocket. -o bien- Establece la clase de tráfico o el octeto de tipo de servicio en el encabezado de datagrama IP para los datagramas enviados desde este datagramSocket. (Heredado de DatagramSocket) |
| TTL |
Obsoletos.
Obtenga el período de vida predeterminado para los paquetes de multidifusión enviados en el socket. -o bien- Establezca el tiempo de vida predeterminado para los paquetes de multidifusión enviados en este |
Métodos
| Nombre | Description |
|---|---|
| Bind(SocketAddress) |
Enlaza este DatagramSocket a una dirección y puerto específicos. (Heredado de DatagramSocket) |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Close() |
Cierra este socket de datagrama. (Heredado de DatagramSocket) |
| Connect(InetAddress, Int32) |
Conecta el socket a una dirección remota para este socket. (Heredado de DatagramSocket) |
| Connect(SocketAddress) |
Conecta este socket a una dirección de socket remoto (dirección IP + número de puerto). (Heredado de DatagramSocket) |
| ConnectAsync(InetAddress, Int32) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de DatagramSocket) |
| ConnectAsync(SocketAddress) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de DatagramSocket) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| Disconnect() |
Desconecta el socket. (Heredado de DatagramSocket) |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| Equals(Object) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| GetOption(ISocketOption) |
Devuelve el valor de una opción de socket. (Heredado de DatagramSocket) |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| JoinGroup(InetAddress) |
Combina un grupo de multidifusión. |
| JoinGroup(SocketAddress, NetworkInterface) |
Combina el grupo de multidifusión especificado en la interfaz especificada. |
| LeaveGroup(InetAddress) |
Deje un grupo de multidifusión. |
| LeaveGroup(SocketAddress, NetworkInterface) |
Deje un grupo de multidifusión en una interfaz local especificada. |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Receive(DatagramPacket) |
Recibe un paquete de datagrama de este socket. (Heredado de DatagramSocket) |
| ReceiveAsync(DatagramPacket) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de DatagramSocket) |
| Send(DatagramPacket, SByte) |
Obsoletos.
Envía un paquete de datagrama al destino, con un TTL (período de vida) distinto del predeterminado para el socket. |
| Send(DatagramPacket) |
Envía un paquete de datagrama desde este socket. (Heredado de DatagramSocket) |
| SendAsync(DatagramPacket) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de DatagramSocket) |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetOption(ISocketOption, Object) |
Establece el valor de una opción de socket. (Heredado de DatagramSocket) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| SupportedOptions() |
Devuelve un conjunto de las opciones de socket admitidas por este socket. (Heredado de DatagramSocket) |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| IJavaPeerable.Finalized() |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. (Heredado de DatagramSocket) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
La clase de socket de datagramas de multidifusión es útil para enviar y recibir paquetes de multidifusión IP. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |