DatagramChannel.Send(ByteBuffer, SocketAddress) Método
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í.
Envía un datagrama a través de este canal.
[Android.Runtime.Register("send", "(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I", "GetSend_Ljava_nio_ByteBuffer_Ljava_net_SocketAddress_Handler")]
public abstract int Send(Java.Nio.ByteBuffer? src, Java.Net.SocketAddress? target);
[<Android.Runtime.Register("send", "(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I", "GetSend_Ljava_nio_ByteBuffer_Ljava_net_SocketAddress_Handler")>]
abstract member Send : Java.Nio.ByteBuffer * Java.Net.SocketAddress -> int
Parámetros
- src
- ByteBuffer
Búfer que contiene el datagrama que se va a enviar
- target
- SocketAddress
Dirección a la que se va a enviar el datagrama.
Devoluciones
El número de bytes enviados, que será el número de bytes que quedaban en el búfer de origen cuando se invocó este método o, si este canal no está bloqueado, puede ser cero si no había espacio suficiente para el datagrama en el búfer de salida subyacente.
- Atributos
Excepciones
si el canal ya está cerrado.
si otro subproceso cierra el canal mientras este método está en funcionamiento.
si otro subproceso interrumpe el subproceso que realiza la llamada mientras la operación está en curso. El subproceso de llamada tendrá el estado de interrupción establecido y se cerrará el canal.
se produce algún otro error de E/S.
Comentarios
Envía un datagrama a través de este canal.
Si este canal está en modo de no bloqueo y hay suficiente espacio en el búfer de salida subyacente, o si este canal está en modo de bloqueo y hay suficiente espacio disponible, los bytes restantes del búfer especificado se transmiten como un único datagrama a la dirección de destino especificada.
El datagrama se transfiere desde el búfer de bytes como si fuera una operación normal WritableByteChannel#write(java.nio.ByteBuffer) write .
Este método realiza exactamente las mismas comprobaciones de seguridad que el java.net.DatagramSocket#send send método de la java.net.DatagramSocket clase . Es decir, si el socket no está conectado a una dirección remota específica y se ha instalado un administrador de seguridad, para cada datagrama enviado este método comprueba que el método del administrador de seguridad permite la dirección de destino y el número de java.lang.SecurityManager#checkConnect checkConnect puerto. La sobrecarga de esta comprobación de seguridad se puede evitar conectando primero el socket a través del #connect connect método .
Este método se puede invocar en cualquier momento. Sin embargo, si otro subproceso ya ha iniciado una operación de escritura en este canal, se bloqueará una invocación de este método hasta que se complete la primera operación. Si el socket de este canal no está enlazado, este método hará que el socket se enlace primero a una dirección que se asigna automáticamente, como si invocase el #bind bind método con un parámetro de null.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.