Класс 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()
- Возвращает:
- номер порта на удалённом хосте, на который отправляется эта дейтаграмма, или 0, если не задано.
- См. также:
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-адрес + номер порта) удаленного узла, которому отправляется или с которого поступает этот пакет.- Возвращает:
- the
SocketAddress - С момента:
- 1.4
- См. также:
setData
public void setData(byte[] buf)
buf.- Параметры:
-
buf- буфер, устанавливаемый для этого пакета. - С момента:
- 1.1
- См. также:
setLength
public void setLength(int length)
- Параметры:
-
length- длина, устанавливаемая для этого пакета. - Исключения:
-
IllegalArgumentException- если длина отрицательная или если длина плюс смещение больше длины буфера данных пакета. - С момента:
- 1.1
- См. также:
© 1993, 2021, 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/17/docs/api/java.base/java/net/DatagramPacket.html