Spec-Zone.ru › OpenJDK 27

Класс DatagramPacket

java.lang.Object
java.net.DatagramPacket
public final class DatagramPacket extends Object
Этот класс представляет пакет дейтаграмм.

Пакеты дейтаграмм используются для реализации службы доставки пакетов без установления соединения. Каждое сообщение маршрутизируется с одной машины на другую исключительно на основе информации, содержащейся в этом пакете. Несколько пакетов, отправленных с одной машины на другую, могут маршрутизироваться по-разному и поступить в любом порядке. Доставка пакетов не гарантируется.

Если не указано иное, передача аргумента null приводит к выбросу NullPointerException.

Методы и конструкторы DatagramPacket принимают параметры типа SocketAddress. DatagramPacket поддерживает InetSocketAddress и может поддерживать дополнительные подтипы SocketAddress.

Начиная с версии:
1.0

Краткое описание конструкторов

Конструктор Описание
DatagramPacket(byte[] buf, int length)
Создает DatagramPacket для приема пакетов длиной length.
DatagramPacket(byte[] buf, int offset, int length)
Создает DatagramPacket для приема пакетов длиной length, указывая смещение в буфере.
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
Создает пакет дейтаграмм для отправки пакетов длиной length со смещением offset на указанный номер порта указанного узла.
DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
Создает пакет дейтаграмм для отправки пакетов длиной length со смещением offset на указанный номер порта указанного узла.
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
Создает пакет дейтаграмм для отправки пакетов длиной length на указанный номер порта указанного узла.
DatagramPacket(byte[] buf, int length, SocketAddress address)
Создает пакет дейтаграмм для отправки пакетов длиной length на указанный номер порта указанного узла.

Краткое описание методов

Модификатор и тип Метод Описание
InetAddress getAddress()
Возвращает IP-адрес машины, на которую отправляется эта дейтаграмма или с которой она была получена, либо null, если адрес не задан.
byte[] getData()
Возвращает буфер данных.
int getLength()
Возвращает длину отправляемых или полученных данных.
int getOffset()
Возвращает смещение отправляемых или полученных данных.
int getPort()
Возвращает номер порта на удаленном узле, на который отправляется эта дейтаграмма или с которого она была получена, либо 0, если номер не задан.
SocketAddress getSocketAddress()
Возвращает SocketAddress (обычно IP-адрес + номер порта) удаленного узла, которому отправляется этот пакет или от которого он поступает.
void setAddress(InetAddress iaddr)
Задает IP-адрес машины, на которую отправляется эта дейтаграмма.
void setData(byte[] buf)
Задает буфер данных для этого пакета.
void setData(byte[] buf, int offset, int length)
Задает буфер данных для этого пакета.
void setLength(int length)
Задает длину этого пакета.
void setPort(int iport)
Задает номер порта на удаленном узле, на который отправляется эта дейтаграмма.
void setSocketAddress(SocketAddress address)
Задает SocketAddress (обычно IP-адрес + номер порта) удаленного узла, на который отправляется эта дейтаграмма.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация признана устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного периода реального времени.

Подробное описание конструкторов

DatagramPacket

public DatagramPacket(byte[] buf, int offset, int length)
Создает DatagramPacket для приема пакетов длиной length, указывая смещение в буфере.

Аргумент length должен быть меньше или равен buf.length.

Параметры:
buf — буфер для хранения входящей дейтаграммы.
offset — смещение в буфере
length — количество байтов для чтения.
Выбрасывает:
IllegalArgumentException — если длина или смещение отрицательны либо если сумма длины и смещения превышает длину заданного буфера пакета.
Начиная с версии:
1.2

DatagramPacket

public DatagramPacket(byte[] buf, int length)
Создает DatagramPacket для приема пакетов длиной length.

Аргумент length должен быть меньше или равен buf.length.

Параметры:
buf — буфер для хранения входящей дейтаграммы.
length — количество байтов для чтения.
Выбрасывает:
IllegalArgumentException — если длина отрицательна или превышает длину заданного буфера пакета.

DatagramPacket

public DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
Создает пакет дейтаграмм для отправки пакетов длиной length со смещением offset на указанный номер порта указанного узла. Аргумент length должен быть меньше или равен buf.length.
Параметры:
buf — данные пакета.
offset — смещение данных пакета.
length — длина данных пакета.
address — адрес назначения или null.
port — номер порта назначения.
Выбрасывает:
IllegalArgumentException — если длина или смещение отрицательны, если сумма длины и смещения превышает длину заданного буфера пакета либо если номер порта выходит за допустимый диапазон.
Начиная с версии:
1.2
См. также:
  • InetAddress

DatagramPacket

public DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
Создает пакет дейтаграмм для отправки пакетов длиной length со смещением offset на указанный номер порта указанного узла. Аргумент length должен быть меньше или равен buf.length.
Параметры:
buf — данные пакета.
offset — смещение данных пакета.
length — длина данных пакета.
address — адрес сокета назначения.
Выбрасывает:
IllegalArgumentException — если адрес равен null или его тип не поддерживается, если длина или смещение отрицательны либо если сумма длины и смещения превышает длину заданного буфера пакета.
Начиная с версии:
1.4
См. также:
  • InetAddress

DatagramPacket

public DatagramPacket(byte[] buf, int length, InetAddress address, int port)
Создает пакет дейтаграмм для отправки пакетов длиной length на указанный номер порта указанного узла. Аргумент length должен быть меньше или равен buf.length.
Параметры:
buf — данные пакета.
length — длина пакета.
address — адрес назначения или null.
port — номер порта назначения.
Выбрасывает:
IllegalArgumentException — если длина отрицательна, превышает длину заданного буфера пакета либо номер порта выходит за допустимый диапазон.
См. также:
  • InetAddress

DatagramPacket

public DatagramPacket(byte[] buf, int length, SocketAddress address)
Создает пакет дейтаграмм для отправки пакетов длиной length на указанный номер порта указанного узла. Аргумент length должен быть меньше или равен buf.length.
Параметры:
buf — данные пакета.
length — длина пакета.
address — адрес назначения.
Выбрасывает:
IllegalArgumentException — если адрес равен null или его тип не поддерживается, если длина отрицательна, превышает длину заданного буфера пакета либо номер порта выходит за допустимый диапазон.
Начиная с версии:
1.4
См. также:
  • InetAddress

Подробное описание методов

getAddress

public InetAddress getAddress()
Возвращает IP-адрес машины, на которую отправляется эта дейтаграмма или с которой она была получена, либо null, если адрес не задан.
Возвращает:
IP-адрес машины, на которую отправляется эта дейтаграмма или с которой она была получена.
См. также:
  • InetAddress
  • setAddress(java.net.InetAddress)

getPort

public int getPort()
Возвращает номер порта на удаленном узле, на который отправляется эта дейтаграмма или с которого она была получена, либо 0, если номер не задан.
Возвращает:
номер порта на удаленном узле, на который отправляется эта дейтаграмма или с которого она была получена.
См. также:
  • setPort(int)

getData

public byte[] getData()
Возвращает буфер данных. Полученные или отправляемые данные начинаются со offset в буфере и имеют длину length.
Возвращает:
буфер, используемый для приема или отправки данных
См. также:
  • setData(byte[], int, int)

getOffset

public int getOffset()
Возвращает смещение отправляемых или полученных данных.
Возвращает:
смещение отправляемых или полученных данных.
Начиная с версии:
1.2

getLength

public int getLength()
Возвращает длину отправляемых или полученных данных.
Возвращает:
длину отправляемых или полученных данных.
См. также:
  • setLength(int)

setData

public void setData(byte[] buf, int offset, int length)
Задает буфер данных для этого пакета. При этом задаются данные, длина и смещение пакета.
Параметры:
buf — буфер, назначаемый этому пакету
offset — смещение в данных
length — длина данных и/или длина буфера, используемого для приема данных
Выбрасывает:
IllegalArgumentException — если длина или смещение отрицательны либо если сумма длины и смещения превышает длину заданного буфера пакета.
Начиная с версии:
1.2
См. также:
  • getData()
  • getOffset()
  • getLength()

setAddress

public void setAddress(InetAddress iaddr)
Задает IP-адрес машины, на которую отправляется эта дейтаграмма.
Параметры:
iaddr — InetAddress или null.
Начиная с версии:
1.1
См. также:
  • getAddress()

setPort

public void setPort(int iport)
Задает номер порта на удаленном узле, на который отправляется эта дейтаграмма.
Параметры:
iport — номер порта
Выбрасывает:
IllegalArgumentException — если номер порта выходит за допустимый диапазон
Начиная с версии:
1.1
См. также:
  • getPort()

setSocketAddress

public void setSocketAddress(SocketAddress address)
Задает SocketAddress (обычно IP-адрес + номер порта) удаленного узла, на который отправляется эта дейтаграмма.
Параметры:
address — SocketAddress
Выбрасывает:
IllegalArgumentException — если адрес равен null или относится к неподдерживаемому подклассу SocketAddress.
Начиная с версии:
1.4
См. также:
  • getSocketAddress()

getSocketAddress

public SocketAddress getSocketAddress()
Возвращает SocketAddress (обычно IP-адрес + номер порта) удаленного узла, которому отправляется этот пакет или от которого он поступает.
Возвращает:
SocketAddress
Начиная с версии:
1.4
См. также:
  • setSocketAddress(SocketAddress)

setData

public void setData(byte[] buf)
Задает буфер данных для этого пакета. Смещение этого DatagramPacket устанавливается в 0, а длина — в значение длины buf.
Параметры:
buf — буфер, назначаемый этому пакету.
Начиная с версии:
1.1
См. также:
  • getLength()
  • getData()

setLength

public void setLength(int length)
Задает длину этого пакета. Длина пакета — это количество байтов из буфера данных пакета, которые будут отправлены, либо количество байтов буфера данных пакета, используемых для приема данных. length плюс offset должны быть меньше или равны длине буфера данных пакета.
Параметры:
length — длина, задаваемая для этого пакета.
Выбрасывает:
IllegalArgumentException — если длина отрицательна либо если сумма длины и смещения превышает длину буфера данных пакета.
Начиная с версии:
1.1
См. также:
  • getLength()
  • setData(byte[], int, int)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, общие сведения о концепциях, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API