DatagramChannel.Send(ByteBuffer, SocketAddress) Método

Definição

Envia um datagram por meio deste 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

O buffer que contém o datagram a ser enviado

target
SocketAddress

O endereço para o qual o datagram deve ser enviado

Retornos

O número de bytes enviados, que será o número de bytes restantes no buffer de origem quando esse método foi invocado ou, se esse canal não estiver bloqueando, poderá ser zero se não houver espaço suficiente para o datagram no buffer de saída subjacente

Atributos

Exceções

se o canal já estiver fechado.

se o canal for fechado por outro thread enquanto esse método estiver em operação.

se outro thread interromper o thread de chamada enquanto a operação estiver em andamento. O thread de chamada terá o estado de interrupção definido e o canal será fechado.

ocorre algum outro erro de E/S.

Comentários

Envia um datagram por meio deste canal.

Se esse canal estiver no modo de não bloqueio e houver espaço suficiente no buffer de saída subjacente ou se esse canal estiver no modo de bloqueio e houver espaço suficiente disponível, os bytes restantes no buffer fornecido serão transmitidos como um único datagrama para o endereço de destino fornecido.

O datagram é transferido do buffer de bytes como se fosse por uma operação regular WritableByteChannel#write(java.nio.ByteBuffer) write .

Esse método executa exatamente as mesmas verificações de segurança que o java.net.DatagramSocket#send send método da java.net.DatagramSocket classe. Ou seja, se o soquete não estiver conectado a um endereço remoto específico e um gerenciador de segurança tiver sido instalado, para cada datagrama enviado, esse método verificará se o endereço de destino e o número da porta são permitidos pelo método do gerenciador de java.lang.SecurityManager#checkConnect checkConnect segurança. A sobrecarga dessa verificação de segurança pode ser evitada primeiro conectando o soquete por meio do #connect connect método.

Esse método pode ser invocado a qualquer momento. No entanto, se outro thread já tiver iniciado uma operação de gravação nesse canal, uma invocação desse método será bloqueada até que a primeira operação seja concluída. Se o soquete desse canal não estiver associado, esse método primeiro fará com que o soquete seja associado a um endereço atribuído automaticamente, como se invocasse o #bind bind método com um parâmetro de null.

Java documentação para java.nio.channels.DatagramChannel.send(java.nio.ByteBuffer, java.net.SocketAddress).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a