鴻蒙OS DatagramPacket

2022-06-07 16:28 更新

DatagramPacket

java.lang.Object

|---java.net.DatagramPacket

public final class DatagramPacket
extends Object

這個(gè)類代表一個(gè)數(shù)據(jù)報(bào)包。

數(shù)據(jù)報(bào)包用于實(shí)現(xiàn)無連接的包傳遞服務(wù)。 每條消息僅根據(jù)該數(shù)據(jù)包中包含的信息從一臺(tái)機(jī)器路由到另一臺(tái)機(jī)器。 從一臺(tái)機(jī)器發(fā)送到另一臺(tái)機(jī)器的多個(gè)數(shù)據(jù)包可能會(huì)以不同的方式路由,并且可能以任何順序到達(dá)。 不保證數(shù)據(jù)包交付。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
DatagramPacket(byte[] buf, int length) 構(gòu)造一個(gè) DatagramPacket 用于接收長度長度的數(shù)據(jù)包。
DatagramPacket(byte[] buf, int offset, int length) 構(gòu)造一個(gè) DatagramPacket 用于接收長度長度的數(shù)據(jù)包,指定緩沖區(qū)的偏移量。
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) 構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于發(fā)送長度為長度的數(shù)據(jù)包,偏移量為 ioffset 到指定主機(jī)上的指定端口號(hào)。
DatagramPacket(byte[] buf, int offset, int length, SocketAddress address) 構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于發(fā)送長度為長度的數(shù)據(jù)包,偏移量為 ioffset 到指定主機(jī)上的指定端口號(hào)。
DatagramPacket(byte[] buf, int length, InetAddress address, int port) 構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于將長度長度的數(shù)據(jù)包發(fā)送到指定主機(jī)上的指定端口號(hào)。
DatagramPacket(byte[] buf, int length, SocketAddress address) 構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于將長度長度的數(shù)據(jù)包發(fā)送到指定主機(jī)上的指定端口號(hào)。

方法總結(jié)

修飾符和類型 方法 描述
InetAddress getAddress() 返回此數(shù)據(jù)報(bào)被發(fā)送到或接收到數(shù)據(jù)報(bào)的機(jī)器的 IP 地址。
byte[] getData() 返回?cái)?shù)據(jù)緩沖區(qū)。
int getLength() 返回要發(fā)送的數(shù)據(jù)的長度或接收的數(shù)據(jù)的長度。
int getOffset() 返回要發(fā)送的數(shù)據(jù)的偏移量或接收的數(shù)據(jù)的偏移量。
int getPort() 返回此數(shù)據(jù)報(bào)被發(fā)送到或從其接收到的遠(yuǎn)程主機(jī)上的端口號(hào)。
SocketAddress getSocketAddress() 獲取此數(shù)據(jù)包正在發(fā)送到或來自的遠(yuǎn)程主機(jī)的 SocketAddress(通常是 IP 地址 + 端口號(hào))。
void setAddress(InetAddress iaddr) 設(shè)置要發(fā)送此數(shù)據(jù)報(bào)的機(jī)器的 IP 地址。
void setData(byte[] buf) 設(shè)置此數(shù)據(jù)包的數(shù)據(jù)緩沖區(qū)。
void setData(byte[] buf, int offset, int length) 設(shè)置此數(shù)據(jù)包的數(shù)據(jù)緩沖區(qū)。
void setLength(int length) 設(shè)置此數(shù)據(jù)包的長度。
void setPort(int iport) 設(shè)置此數(shù)據(jù)報(bào)要發(fā)送到的遠(yuǎn)程主機(jī)上的端口號(hào)。
void setSocketAddress(SocketAddress address) 設(shè)置這個(gè)數(shù)據(jù)報(bào)被發(fā)送到的遠(yuǎn)程主機(jī)的 SocketAddress(通常是 IP 地址 + 端口號(hào))。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

DatagramPacket

public DatagramPacket(byte[] buf, int offset, int length)

構(gòu)造一個(gè) DatagramPacket 用于接收長度長度的數(shù)據(jù)包,指定緩沖區(qū)的偏移量。

長度參數(shù)必須小于或等于 buf.length。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 用于保存?zhèn)魅霐?shù)據(jù)報(bào)的緩沖區(qū)。
offset 緩沖區(qū)的偏移量
length 要讀取的字節(jié)數(shù)。

DatagramPacket

public DatagramPacket(byte[] buf, int length)

構(gòu)造一個(gè) DatagramPacket 用于接收長度長度的數(shù)據(jù)包。

長度參數(shù)必須小于或等于 buf.length。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 用于保存?zhèn)魅霐?shù)據(jù)報(bào)的緩沖區(qū)。
length 要讀取的字節(jié)數(shù)。

DatagramPacket

public DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)

構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于發(fā)送長度為長度的數(shù)據(jù)包,偏移量為 ioffset 到指定主機(jī)上的指定端口號(hào)。 長度參數(shù)必須小于或等于 buf.length。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 數(shù)據(jù)包數(shù)據(jù)。
offset 數(shù)據(jù)包數(shù)據(jù)偏移量。
length 包數(shù)據(jù)長度。
address 目的地址。
port 目的端口號(hào)。

DatagramPacket

public DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)

構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于發(fā)送長度為長度的數(shù)據(jù)包,偏移量為 ioffset 到指定主機(jī)上的指定端口號(hào)。 長度參數(shù)必須小于或等于 buf.length。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 數(shù)據(jù)包數(shù)據(jù)。
offset 數(shù)據(jù)包數(shù)據(jù)偏移量。
length 包數(shù)據(jù)長度。
address 目標(biāo)套接字地址。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果不支持地址類型

DatagramPacket

public DatagramPacket(byte[] buf, int length, InetAddress address, int port)

構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于將長度長度的數(shù)據(jù)包發(fā)送到指定主機(jī)上的指定端口號(hào)。 長度參數(shù)必須小于或等于 buf.length。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 數(shù)據(jù)包數(shù)據(jù)。
length 數(shù)據(jù)包長度。
address 目的地址。
port 目的端口號(hào)。

DatagramPacket

public DatagramPacket(byte[] buf, int length, SocketAddress address)

構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,用于將長度長度的數(shù)據(jù)包發(fā)送到指定主機(jī)上的指定端口號(hào)。 長度參數(shù)必須小于或等于 buf.length。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 數(shù)據(jù)包數(shù)據(jù)。
length 數(shù)據(jù)包長度。
address 目的地址。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果不支持地址類型

方法詳情

getAddress

public InetAddress getAddress()

返回此數(shù)據(jù)報(bào)被發(fā)送到或接收到數(shù)據(jù)報(bào)的機(jī)器的 IP 地址。

返回:

發(fā)送該數(shù)據(jù)報(bào)的機(jī)器的 IP 地址或接收該數(shù)據(jù)報(bào)的機(jī)器的 IP 地址。

getPort

public int getPort()

返回此數(shù)據(jù)報(bào)被發(fā)送到或從其接收到的遠(yuǎn)程主機(jī)上的端口號(hào)。

返回:

發(fā)送該數(shù)據(jù)報(bào)或接收該數(shù)據(jù)報(bào)的遠(yuǎn)程主機(jī)上的端口號(hào)。

getData

public byte[] getData()

返回?cái)?shù)據(jù)緩沖區(qū)。 接收到的數(shù)據(jù)或要發(fā)送的數(shù)據(jù)從緩沖區(qū)中的偏移量開始,運(yùn)行長度為 long。

返回:

用于接收或發(fā)送數(shù)據(jù)的緩沖區(qū)

getOffset

public int getOffset()

返回要發(fā)送的數(shù)據(jù)的偏移量或接收的數(shù)據(jù)的偏移量。

返回:

要發(fā)送的數(shù)據(jù)的偏移量或接收的數(shù)據(jù)的偏移量。

getLength

public int getLength()

返回要發(fā)送的數(shù)據(jù)的長度或接收的數(shù)據(jù)的長度。

返回:

要發(fā)送的數(shù)據(jù)的長度或接收的數(shù)據(jù)的長度。

setData

public void setData(byte[] buf, int offset, int length)

設(shè)置此數(shù)據(jù)包的數(shù)據(jù)緩沖區(qū)。 這將設(shè)置數(shù)據(jù)包的數(shù)據(jù)、長度和偏移量。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 為此數(shù)據(jù)包設(shè)置的緩沖區(qū)
offset 數(shù)據(jù)中的偏移量
length 數(shù)據(jù)的長度和/或用于接收數(shù)據(jù)的緩沖區(qū)的長度

Throws:

Throw名稱 Throw描述
NullPointerException 如果參數(shù)為空

setAddress

public void setAddress(InetAddress iaddr)

設(shè)置要發(fā)送此數(shù)據(jù)報(bào)的機(jī)器的 IP 地址。

參數(shù):

參數(shù)名稱 參數(shù)描述
iaddr 網(wǎng)絡(luò)地址

setPort

public void setPort(int iport)

設(shè)置此數(shù)據(jù)報(bào)要發(fā)送到的遠(yuǎn)程主機(jī)上的端口號(hào)。

參數(shù):

參數(shù)名稱 參數(shù)描述
iport 端口號(hào)

setSocketAddress

public void setSocketAddress(SocketAddress address)

設(shè)置這個(gè)數(shù)據(jù)報(bào)被發(fā)送到的遠(yuǎn)程主機(jī)的 SocketAddress(通常是 IP 地址 + 端口號(hào))。

參數(shù):

參數(shù)名稱 參數(shù)描述
address 套接字地址

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果地址為 null 或者是此套接字不支持的 SocketAddress 子類

getSocketAddress

public SocketAddress getSocketAddress()

獲取此數(shù)據(jù)包正在發(fā)送到或來自的遠(yuǎn)程主機(jī)的 SocketAddress(通常是 IP 地址 + 端口號(hào))。

返回:

套接字地址

setData

public void setData(byte[] buf)

設(shè)置此數(shù)據(jù)包的數(shù)據(jù)緩沖區(qū)。 將此 DatagramPacket 的偏移量設(shè)置為 0,并將長度設(shè)置為 buf 的長度。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 為此數(shù)據(jù)包設(shè)置的緩沖區(qū)。

Throws:

Throw名稱 Throw描述
NullPointerException 如果參數(shù)為空。

setLength

public void setLength(int length)

設(shè)置此數(shù)據(jù)包的長度。 數(shù)據(jù)包的長度是將要發(fā)送的數(shù)據(jù)包數(shù)據(jù)緩沖區(qū)中的字節(jié)數(shù),或?qū)⒂糜诮邮諗?shù)據(jù)的數(shù)據(jù)包數(shù)據(jù)緩沖區(qū)的字節(jié)數(shù)。 長度必須小于或等于偏移量加上數(shù)據(jù)包緩沖區(qū)的長度。

參數(shù):

參數(shù)名稱 參數(shù)描述
length 為此數(shù)據(jù)包設(shè)置的長度。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果長度為負(fù)或長度大于數(shù)據(jù)包的數(shù)據(jù)緩沖區(qū)長度。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)