Spec-Zone.ru › OpenJDK 25

Класс 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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/DatagramPacket.html

Spec-Zone.ru

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