Класс 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-адрес + номер порта) удаленного узла, на который отправляется эта дейтаграмма. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного периода реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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
- См. также:
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)
- Параметры:
-
address—SocketAddress - Выбрасывает:
-
IllegalArgumentException— если адрес равен null или относится к неподдерживаемому подклассу SocketAddress. - Начиная с версии:
- 1.4
- См. также:
getSocketAddress
public SocketAddress getSocketAddress()
SocketAddress (обычно IP-адрес + номер порта) удаленного узла, которому отправляется этот пакет или от которого он поступает.- Возвращает:
SocketAddress- Начиная с версии:
- 1.4
- См. также:
setData
public void setData(byte[] buf)
buf.- Параметры:
-
buf— буфер, назначаемый этому пакету. - Начиная с версии:
- 1.1
- См. также:
setLength
public void setLength(int length)
length плюс offset должны быть меньше или равны длине буфера данных пакета.- Параметры:
-
length— длина, задаваемая для этого пакета. - Выбрасывает:
-
IllegalArgumentException— если длина отрицательна либо если сумма длины и смещения превышает длину буфера данных пакета. - Начиная с версии:
- 1.1
- См. также:
© 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.