public final class DatagramPacket extends Object
数据包是用来实现一个无连接的分组传送服务。每个消息都是从一台机器路由到另一个完全基于包含在该数据包内的信息。从一台机器发送到另一台机器的多个数据包可能会被不同的路由,并可能以任何顺序到达。包交付没有保证。
| Constructor and Description |
|---|
DatagramPacket(byte[] buf, int length)
接收数据包长度
length
DatagramPacket构建。
|
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
指定主机上的指定端口发送数据包的长度
length数据报包结构。
|
DatagramPacket(byte[] buf, int offset, int length)
接收数据包长度
length
DatagramPacket结构,指定一个偏移量到缓冲区。
|
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
发送有偏置
ioffsetto指定端口号指定主机上的数据包长度
length数据报包结构。
|
DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
发送有偏置
ioffsetto指定端口号指定主机上的数据包长度
length数据报包结构。
|
DatagramPacket(byte[] buf, int length, SocketAddress address)
指定主机上的指定端口发送数据包的长度
length数据报包结构。
|
| Modifier and Type | Method and Description |
|---|---|
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地址+端口号)的远程主机的数据报发送。
|
public DatagramPacket(byte[] buf,
int offset,
int length)
length
DatagramPacket结构,指定一个偏移量到缓冲区。
的length参数必须小于或等于buf.length。
buf -将传入的数据报缓冲区。
offset -缓冲区偏移
length -字节数读。
public DatagramPacket(byte[] buf,
int length)
length
DatagramPacket
的length参数必须小于或等于buf.length。
buf -将传入的数据报缓冲区。
length -字节数读。
public DatagramPacket(byte[] buf,
int offset,
int length,
InetAddress address,
int port)
ioffsetto指定端口号指定主机上的数据包长度
length数据报包结构。的
length参数必须小于或等于
buf.length。
buf -分组数据。
offset -分组数据偏移。
length -分组数据长度。
address -目标地址。
port -目的端口号。
InetAddress
public DatagramPacket(byte[] buf,
int offset,
int length,
SocketAddress address)
ioffsetto指定端口号指定主机上的数据包长度
length数据报包结构。的
length参数必须小于或等于
buf.length。
buf -分组数据。
offset -分组数据偏移。
length -分组数据长度。
address -目的套接字地址。
IllegalArgumentException如果地址类型不支持
InetAddress
public DatagramPacket(byte[] buf,
int length,
InetAddress address,
int port)
length数据报包结构。的
length参数必须小于或等于
buf.length。
buf -分组数据。
length -包长。
address -目标地址。
port -目的端口号。
InetAddress
public DatagramPacket(byte[] buf,
int length,
SocketAddress address)
length数据报包结构。的
length参数必须小于或等于
buf.length。
buf -分组数据。
length -包长。
address -目标地址。
IllegalArgumentException如果地址类型不支持
InetAddress
public InetAddress getAddress()
InetAddress,
setAddress(java.net.InetAddress)
public int getPort()
setPort(int)
public byte[] getData()
offset,和运行
length长。
setData(byte[], int, int)
public int getOffset()
public int getLength()
setLength(int)
public void setData(byte[] buf,
int offset,
int length)
buf -缓冲设置该分组
offset -偏移到数据
length -数据和/或用于接收数据的缓冲区的长度
NullPointerException -如果参数为空
getData(),
getOffset(),
getLength()
public void setAddress(InetAddress iaddr)
iaddr -
InetAddress
getAddress()
public void setPort(int iport)
iport -端口号
getPort()
public void setSocketAddress(SocketAddress address)
address -
SocketAddress
IllegalArgumentException如果地址为空或是通过这个插座不支持SocketAddress类
getSocketAddress()
public SocketAddress getSocketAddress()
SocketAddress
setSocketAddress(java.net.SocketAddress)
public void setData(byte[] buf)
buf的长度。
buf -缓冲设置该分组。
NullPointerException -如果参数为空。
getLength(),
getData()
public void setLength(int length)
length -长度设置该分组。
IllegalArgumentException -如果长度大于分组的数据缓冲区的长度是负的。
getLength(),
setData(byte[], int, int)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.