Язык

DatagramChannel.Send(ByteBuffer, SocketAddress) Метод

Определение

Отправляет диаграмму данных через этот канал.

[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

Параметры

src
ByteBuffer

Буфер, содержащий отправляемую диаграмму данных

target
SocketAddress

Адрес, в который отправляется диаграмма данных

Возвращаемое значение

Число отправленных байтов, которое будет либо числом байтов, оставшихся в исходном буфере при вызове этого метода, либо, если этот канал не блокируется, может быть нулевым, если недостаточно места для диаграммы данных в базовом выходном буфере

Атрибуты

Исключения

Значение , если канал уже закрыт.

Значение , если канал закрыт другим потоком во время работы этого метода.

Если другой поток прерывает вызывающий поток во время выполнения операции. Вызывающий поток будет иметь набор состояний прерывания, и канал будет закрыт.

возникает другая ошибка ввода-вывода.

Комментарии

Отправляет диаграмму данных через этот канал.

Если этот канал находится в режиме неблокировки и в базовом выходном буфере достаточно места или если этот канал находится в режиме блокировки, а остальные байты в заданном буфере передаются в виде одной диаграммы данных на заданный целевой адрес.

Диаграмма данных передается из буфера байтов, как будто обычной WritableByteChannel#write(java.nio.ByteBuffer) write операцией.

Этот метод выполняет точно те же проверки безопасности, что java.net.DatagramSocket#send send и метод java.net.DatagramSocket класса. То есть, если сокет не подключен к определенному удаленному адресу и диспетчер безопасности был установлен, то для каждой диаграммы данных, отправленной этим методом, проверяется, разрешен ли целевой адрес и номер порта с помощью метода диспетчера java.lang.SecurityManager#checkConnect checkConnect безопасности. Затраты на эту проверку безопасности можно избежать, сначала подключив сокет с помощью #connect connect метода.

Этот метод может вызываться в любое время. Если другой поток уже инициировал операцию записи на этом канале, то вызов этого метода будет блокироваться до завершения первой операции. Если сокет этого канала не привязан, этот метод сначала вызовет привязку сокета к адресу, назначенному автоматически, как если бы путем вызова #bind bind метода с параметром null.

Java документации по java.nio.channels.DatagramChannel.send(java.nio.ByteBuffer, java.net.SocketAddress).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к