Класс DatagramPacket
- java.lang.Object
-
- java.net.DatagramPacket
public final class DatagramPacket extends Object
Этот класс представляет пакет данных дейтаграммы.
Пакеты дейтаграмм используются для реализации бессоединительной службы доставки пакетов. Каждое сообщение маршрутизируется с одного компьютера на другой только на основе информации, содержащейся в этом пакете. Несколько пакетов, отправленных с одного компьютера на другой, могут быть маршрутизированы по-разному и могут прибыть в любом порядке. Гарантия доставки пакетов не предоставляется.
- Since:
- JDK1.0
Конструкторы
| Конструктор и описание |
|---|
DatagramPacket(byte[] buf,
int length) Создаёт объект для получения пакетов длиной |
DatagramPacket(byte[] buf,
int length,
InetAddress address,
int port) Создаёт пакет дейтаграммы для отправки пакетов длиной |
DatagramPacket(byte[] buf,
int offset,
int length) Создаёт объект для получения пакетов длиной |
DatagramPacket(byte[] buf,
int offset,
int length,
InetAddress address,
int port) Создаёт пакет дейтаграммы для отправки пакетов длиной |
DatagramPacket(byte[] buf,
int offset,
int length,
SocketAddress address) Создаёт пакет дейтаграммы для отправки пакетов длиной |
DatagramPacket(byte[] buf,
int length,
SocketAddress address) Создаёт пакет дейтаграммы для отправки пакетов длиной |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
InetAddress |
getAddress() Возвращает IP-адрес компьютера, на который отправляется или с которого получен этот пакет дейтаграммы. |
byte[] |
getData() Возвращает буфер данных. |
int |
getLength() Возвращает длину данных, которые должны быть отправлены или длина полученных данных. |
int |
getOffset() Возвращает смещение данных, которые должны быть отправлены или смещение полученных данных. |
int |
getPort() Возвращает номер порта на удалённом хосте, на который отправляется или с которого получен этот пакет дейтаграммы. |
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-адрес + номер порта) удалённого хоста, на который отправляется этот пакет дейтаграммы. |
Методы, унаследованные от класса java.lang.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- количество байтов для чтения. - С версии:
- 1.2
DatagramPacket
public DatagramPacket(byte[] buf,
int length) Конструирует DatagramPacket для приема пакетов длиной length.
Аргумент length должен быть меньше или равен buf.length.
- Параметры:
-
buf- буфер для хранения входящего датаграммы. -
length- количество байтов для чтения.
DatagramPacket
public DatagramPacket(byte[] buf,
int offset,
int length,
InetAddress address,
int port) Конструирует пакет датаграмм для отправки пакетов длиной length со смещением ioffset в указанный номер порта на указанном хосте. Аргумент length должен быть меньше или равен buf.length.
- Параметры:
-
buf- данные пакета. -
offset- смещение данных пакета. -
length- длина данных пакета. -
address- адрес получателя. -
port- номер порта получателя. - С версии:
- 1.2
- См. также:
InetAddress
DatagramPacket
public DatagramPacket(byte[] buf,
int offset,
int length,
SocketAddress address) Конструирует пакет датаграмм для отправки пакетов длиной length со смещением ioffset в указанный номер порта на указанном хосте. Аргумент length должен быть меньше или равен buf.length.
- Параметры:
-
buf- данные пакета. -
offset- смещение данных пакета. -
length- длина данных пакета. -
address- адрес сокета получателя. - Исключения:
-
IllegalArgumentException- если тип адреса не поддерживается - С версии:
- 1.4
- См. также:
InetAddress
DatagramPacket
public DatagramPacket(byte[] buf,
int length,
InetAddress address,
int port) Конструирует пакет датаграмм для отправки пакетов длиной length в указанный номер порта на указанном хосте. Аргумент length должен быть меньше или равен buf.length.
- Параметры:
-
buf- данные пакета. -
length- длина пакета. -
address- адрес получателя. -
port- номер порта получателя. - См. также:
InetAddress
DatagramPacket
public DatagramPacket(byte[] buf,
int length,
SocketAddress address) Конструирует пакет датаграмм для отправки пакетов длиной length в указанный номер порта на указанном хосте. Аргумент length должен быть меньше или равен buf.length.
- Параметры:
-
buf- данные пакета. -
length- длина пакета. -
address- адрес получателя. - Исключения:
-
IllegalArgumentException- если тип адреса не поддерживается - С версии:
- 1.4
- См. также:
InetAddress
Методы
getAddress
public InetAddress getAddress()
Возвращает IP-адрес машины, которой отправляется эта датаграмма или от которой она была получена.
- Возвращает:
- IP-адрес машины, которой отправляется эта датаграмма или от которой она была получена.
- См. также:
-
InetAddress,setAddress(java.net.InetAddress)
getPort
public int getPort()
Возвращает номер порта на удаленном хосте, которому отправляется эта датаграмма или от которого она была получена.
- Возвращает:
- номер порта на удаленном хосте, которому отправляется эта датаграмма или от которого она была получена.
- См. также:
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- длина данных и/или длина буфера, используемого для приема данных - Исключения:
-
NullPointerException- если аргумент равен null - С версии:
- 1.2
- См. также:
-
getData(),getOffset(),getLength()
setAddress
public void setAddress(InetAddress iaddr)
Устанавливает IP-адрес машины, которой отправляется эта датаграмма.
- Параметры:
-
iaddr-InetAddress - С версии:
- JDK1.1
- См. также:
getAddress()
setPort
public void setPort(int iport)
Устанавливает номер порта на удаленном хосте, которому отправляется эта датаграмма.
- Параметры:
-
iport- номер порта - С версии:
- JDK1.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(java.net.SocketAddress)
setData
public void setData(byte[] buf)
Устанавливает буфер данных для этого пакета. При этом смещение этого DatagramPacket устанавливается в 0, а длина — в длину buf.
- Параметры:
-
buf- буфер для установки для этого пакета. - Исключения:
-
NullPointerException- если аргумент равен null. - С версии:
- JDK1.1
- См. также:
-
getLength(),getData()
setLength
public void setLength(int length)
Устанавливает длину для этого пакета. Длина пакета — это количество байтов из буфера данных пакета, которые будут отправлены, или количество байтов буфера данных пакета, которые будут использоваться для приема данных. Длина должна быть меньше или равна смещению плюс длина буфера пакета.
- Параметры:
-
length- длина для установки для этого пакета. - Исключения:
-
IllegalArgumentException- если длина отрицательна или если длина больше длины буфера данных пакета. - С версии:
- JDK1.1
- См. также:
-
getLength(),setData(byte[], int, int)
© 1993, 2020, 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.