Класс DatagramPacket
public final class DatagramPacket extends Object
Пакеты данных используются для реализации бесклассовой службы доставки пакетов. Каждое сообщение маршрутизируется от одного компьютера к другому исключительно на основе информации, содержащейся в этом пакете. Несколько пакетов, отправленных с одного компьютера на другой, могут быть маршрутизированы по-разному и могут прибыть в любом порядке. Доставка пакетов не гарантируется.
Если не указано иное, передача аргумента null приводит к исключению NullPointerException.
Методы и конструкторы DatagramPacket принимают параметры типа SocketAddress. DatagramPacket поддерживает InetSocketAddress и может поддерживать дополнительные SocketAddress подтипы.
- С тех пор:
- 1.0
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DatagramPacket |
Создаёт DatagramPacket для приёма пакетов длиной length. |
DatagramPacket |
Создаёт DatagramPacket для приёма пакетов длиной length, указывая смещение в буфере. |
DatagramPacket |
Создаёт пакет данных для отправки пакетов длиной length со смещением offset на указанный номер порта на указанном хосте. |
DatagramPacket |
Создаёт пакет данных для отправки пакетов длиной length со смещением offset на указанный номер порта на указанном хосте. |
DatagramPacket |
Создаёт пакет данных для отправки пакетов длиной length на указанный номер порта на указанном хосте. |
DatagramPacket |
Создаёт пакет данных для отправки пакетов длиной length на указанный номер порта на указанном хосте. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
InetAddress |
getAddress() |
Возвращает IP-адрес компьютера, на который отправляется этот пакет или с которого он был получен, или null, если не задан. |
byte[] |
getData() |
Возвращает буфер данных. |
int |
getLength() |
Возвращает длину отправляемых или полученных данных. |
int |
getOffset() |
Возвращает смещение отправляемых или полученных данных. |
int |
getPort() |
Возвращает номер порта на удалённом хосте, на который отправляется или с которого получен этот пакет, или 0, если не задан. |
SocketAddress |
getSocketAddress() |
Возвращает SocketAddress (обычно IP-адрес + номер порта) удалённого хоста, на который отправляется или с которого получен этот пакет. |
void |
setAddress |
Устанавливает IP-адрес компьютера, на который отправляется этот пакет. |
void |
setData |
Устанавливает буфер данных для этого пакета. |
void |
setData |
Устанавливает буфер данных для этого пакета. |
void |
setLength |
Устанавливает длину для этого пакета. |
void |
setPort |
Устанавливает номер порта на удалённом хосте, на который отправляется этот пакет. |
void |
setSocketAddress |
Устанавливает SocketAddress (обычно IP-адрес + номер порта) удалённого хоста, на который отправляется этот пакет. |
Подробное описание конструкторов
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
- См. также:
DatagramPacket
public DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
length со смещением offset на указанный номер порта на указанном узле. Аргумент length должен быть меньше или равен buf.length.- Параметры:
-
buf- данные пакета. -
offset- смещение данных пакета. -
length- длина данных пакета. -
address- адрес сокета назначения. - Исключения:
-
IllegalArgumentException- если адрес равен null или его тип не поддерживается, или если длина или смещение отрицательны, или если длина плюс смещение больше длины заданного буфера пакета. - С момента:
- 1.4
- См. также:
DatagramPacket
public DatagramPacket(byte[] buf, int length, InetAddress address, int port)
length на указанный номер порта на указанном узле. Аргумент length должен быть меньше или равен buf.length.- Параметры:
-
buf- данные пакета. -
length- длина пакета. -
address- адрес назначения илиnull. -
port- номер порта назначения. - Исключения:
-
IllegalArgumentException- если длина отрицательна, или если длина больше длины заданного буфера пакета, или если порт вне диапазона. - См. также:
DatagramPacket
public DatagramPacket(byte[] buf, int length, SocketAddress address)
length на указанный номер порта на указанном узле. Аргумент length должен быть меньше или равен buf.length.- Параметры:
-
buf- данные пакета. -
length- длина пакета. -
address- адрес назначения. - Исключения:
-
IllegalArgumentException- если адрес равен null или его тип не поддерживается, или если длина отрицательна, или если длина больше длины заданного буфера пакета, или если порт вне диапазона. - С момента:
- 1.4
- См. также:
Подробное описание методов
getAddress
public InetAddress getAddress()
null, если не установлено.- Возвращает:
- IP-адрес машины, на которую отправляется эта дейтаграмма, или с которой была получена дейтаграмма.
- См. также:
getPort
public int getPort()
- Возвращает:
- номер порта на удалённом узле, на который отправляется эта дейтаграмма, или с которой была получена дейтаграмма.
- См. также:
getData
public byte[] getData()
offset в буфере и имеют длину length.- Возвращает:
- буфер, используемый для приёма или отправки данных
- См. также:
getOffset
public int getOffset()
- Возвращает:
- смещение данных, которые нужно отправить или получили.
- С момента:
- 1.2
getLength
public int getLength()
- Возвращает:
- длину данных, которые нужно отправить или получили.
- См. также:
setData
public void setData(byte[] buf, int offset, int length)
- Параметры:
-
buf- буфер для установки для этого пакета -
offset- смещение в данных -
length- длина данных и/или длина буфера, используемого для приёма данных - Исключения:
-
IllegalArgumentException- если длина или смещение отрицательны, или если длина плюс смещение больше длины заданного буфера пакета. - С момента:
- 1.2
- См. также:
setAddress
public void setAddress(InetAddress iaddr)
- Параметры:
-
iaddr-InetAddressилиnull. - С момента:
- 1.1
- См. также:
setPort
public void setPort(int iport)
- Параметры:
-
iport- номер порта - Исключения:
-
IllegalArgumentException- если порт вне диапазона - С момента:
- 1.1
- См. также:
setSocketAddress
public void setSocketAddress(SocketAddress address)
- Parameters:
-
address- theSocketAddress - Throws:
-
IllegalArgumentException- если адрес null или является подклассом SocketAddress, не поддерживаемым данной реализацией. - Since:
- 1.4
- See Also:
getSocketAddress
public SocketAddress getSocketAddress()
SocketAddress (обычно IP-адрес + номер порта) удалённого узла, которому отправляется или с которого получен этот пакет.- Returns:
- the
SocketAddress - Since:
- 1.4
- See Also:
setData
public void setData(byte[] buf)
buf.- Parameters:
-
buf- буфер для установки для этого пакета. - Since:
- 1.1
- See Also:
setLength
public void setLength(int length)
length плюс offset должны быть меньше или равны длине буфера данных пакета.- Parameters:
-
length- длина для установки для этого пакета. - Throws:
-
IllegalArgumentException- если длина отрицательная или если длина плюс смещение больше длины буфера данных пакета. - Since:
- 1.1
- See Also:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/DatagramPacket.html