鴻蒙OS DatagramPacket

2022-06-07 16:28 更新

DatagramPacket

java.lang.Object

|---java.net.DatagramPacket

public final class DatagramPacket
extends Object

這個類代表一個數(shù)據(jù)報包。

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

構造函數(shù)摘要

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

方法總結

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

構造函數(shù)詳細信息

DatagramPacket

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

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

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

參數(shù):

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

DatagramPacket

public DatagramPacket(byte[] buf, int length)

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

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

參數(shù):

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

DatagramPacket

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

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

參數(shù):

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

DatagramPacket

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

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

參數(shù):

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

Throws:

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

DatagramPacket

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

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

參數(shù):

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

DatagramPacket

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

構造一個數(shù)據(jù)報包,用于將長度長度的數(shù)據(jù)包發(fā)送到指定主機上的指定端口號。 長度參數(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ù)報被發(fā)送到或接收到數(shù)據(jù)報的機器的 IP 地址。

返回:

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

getPort

public int getPort()

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

返回:

發(fā)送該數(shù)據(jù)報或接收該數(shù)據(jù)報的遠程主機上的端口號。

getData

public byte[] getData()

返回數(shù)據(jù)緩沖區(qū)。 接收到的數(shù)據(jù)或要發(fā)送的數(shù)據(jù)從緩沖區(qū)中的偏移量開始,運行長度為 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ù)據(jù)包的數(shù)據(jù)緩沖區(qū)。 這將設置數(shù)據(jù)包的數(shù)據(jù)、長度和偏移量。

參數(shù):

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

Throws:

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

setAddress

public void setAddress(InetAddress iaddr)

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

參數(shù):

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

setPort

public void setPort(int iport)

設置此數(shù)據(jù)報要發(fā)送到的遠程主機上的端口號。

參數(shù):

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

setSocketAddress

public void setSocketAddress(SocketAddress address)

設置這個數(shù)據(jù)報被發(fā)送到的遠程主機的 SocketAddress(通常是 IP 地址 + 端口號)。

參數(shù):

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

Throws:

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

getSocketAddress

public SocketAddress getSocketAddress()

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

返回:

套接字地址

setData

public void setData(byte[] buf)

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

參數(shù):

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

Throws:

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

setLength

public void setLength(int length)

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

參數(shù):

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

Throws:

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號