DatagramChannel.Send(ByteBuffer, SocketAddress) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.