Most visited

Recently visited

Added in API level 1

DatagramPacket

public final class DatagramPacket
extends Object

java.lang.Object
   ↳ java.net.DatagramPacket


这个类表示一个数据报包。

数据报包用于实现无连接分组传送服务。 每条消息仅根据包中包含的信息从一台机器路由到另一台机器。 从一台机器发送到另一台机器的多个数据包可能路由不同,并可能以任何顺序到达。 分组传送不保证。

Summary

Public constructors

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

构造一个 DatagramPacket用于接收长度为 length数据包,指定缓冲区中的偏移量。

DatagramPacket(byte[] buf, int length)

构造一个 DatagramPacket用于接收长度为 length数据包。

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

构造一个数据报包,用于发送长度为 length ,偏移量为 ioffset的数据包到指定主机上的指定端口号。

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

构造一个数据报数据包,用于发送长度为 length且偏移量为 ioffset的数据包到指定主机上的指定端口号。

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

构造一个数据报包,用于将长度为 length的数据包发送到指定主机上的指定端口号。

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

构造一个数据报数据包,用于将长度为 length的数据包发送到指定主机上的指定端口号。

Public methods

InetAddress getAddress()

返回发送此数据报的机器的IP地址或从中收到数据报的机器的IP地址。

byte[] getData()

返回数据缓冲区。

int getLength()

返回要发送的数据的长度或接收到的数据的长度。

int getOffset()

返回要发送的数据的偏移量或接收到的数据的偏移量。

int getPort()

返回此数据报发送到的远程主机或接收数据报的端口号。

SocketAddress getSocketAddress()

获取此数据包发送或来自的远程主机的SocketAddress(通常为IP地址+端口号)。

void setAddress(InetAddress iaddr)

设置此数据报发送到的机器的IP地址。

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

为此数据包设置数据缓冲区。

void setData(byte[] buf)

为此数据包设置数据缓冲区。

void setLength(int length)

设置此数据包的长度。

void setPort(int iport)

设置此数据报发送到的远程主机上的端口号。

void setSocketAddress(SocketAddress address)

设置此数据报发送到的远程主机的SocketAddress(通常是IP地址+端口号)。

Inherited methods

From class java.lang.Object

Public constructors

DatagramPacket

Added in API level 1
DatagramPacket (byte[] buf, 
                int offset, 
                int length)

构造一个 DatagramPacket用于接收长度为 length数据包,指定到缓冲区中的偏移量。

参数 length必须小于或等于 buf.length

Parameters
buf byte: buffer for holding the incoming datagram.
offset int: the offset for the buffer
length int: the number of bytes to read.

DatagramPacket

Added in API level 1
DatagramPacket (byte[] buf, 
                int length)

构造一个 DatagramPacket用于接收长度为 length数据包。

参数 length必须小于或等于 buf.length

Parameters
buf byte: buffer for holding the incoming datagram.
length int: the number of bytes to read.

DatagramPacket

Added in API level 1
DatagramPacket (byte[] buf, 
                int offset, 
                int length, 
                InetAddress address, 
                int port)

构造一个数据报数据包,用于发送长度为length ,偏移量为ioffset的数据包到指定主机上的指定端口号。 参数length必须小于或等于buf.length

Parameters
buf byte: the packet data.
offset int: the packet data offset.
length int: the packet data length.
address InetAddress: the destination address.
port int: the destination port number.

也可以看看:

DatagramPacket

Added in API level 1
DatagramPacket (byte[] buf, 
                int offset, 
                int length, 
                SocketAddress address)

构造一个数据报包,用于发送长度为length的数据包,偏移量为ioffset到指定主机上的指定端口号。 参数length必须小于或等于buf.length

Parameters
buf byte: the packet data.
offset int: the packet data offset.
length int: the packet data length.
address SocketAddress: the destination socket address.
Throws
IllegalArgumentException if address type is not supported
SocketException

也可以看看:

DatagramPacket

Added in API level 1
DatagramPacket (byte[] buf, 
                int length, 
                InetAddress address, 
                int port)

构造一个数据报数据包,用于将长度为length的数据包发送到指定主机上的指定端口号。 length参数必须小于或等于buf.length

Parameters
buf byte: the packet data.
length int: the packet length.
address InetAddress: the destination address.
port int: the destination port number.

也可以看看:

DatagramPacket

Added in API level 1
DatagramPacket (byte[] buf, 
                int length, 
                SocketAddress address)

构造一个数据报数据包,用于将长度为length的数据包发送到指定主机上的指定端口号。 参数length必须小于或等于buf.length

Parameters
buf byte: the packet data.
length int: the packet length.
address SocketAddress: the destination address.
Throws
IllegalArgumentException if address type is not supported
SocketException

也可以看看:

Public methods

getAddress

Added in API level 1
InetAddress getAddress ()

返回发送此数据报的机器的IP地址或从中收到数据报的机器的IP地址。

Returns
InetAddress the IP address of the machine to which this datagram is being sent or from which the datagram was received.

也可以看看:

getData

Added in API level 1
byte[] getData ()

返回数据缓冲区。 接收到的数据或要发送的数据从缓冲区中的offset开始,并运行length长。

Returns
byte[] the buffer used to receive or send data

也可以看看:

getLength

Added in API level 1
int getLength ()

返回要发送的数据的长度或接收到的数据的长度。

Returns
int the length of the data to be sent or the length of the data received.

也可以看看:

getOffset

Added in API level 1
int getOffset ()

返回要发送的数据的偏移量或接收到的数据的偏移量。

Returns
int the offset of the data to be sent or the offset of the data received.

getPort

Added in API level 1
int getPort ()

返回此数据报发送到的远程主机或接收数据报的端口号。

Returns
int the port number on the remote host to which this datagram is being sent or from which the datagram was received.

也可以看看:

getSocketAddress

Added in API level 1
SocketAddress getSocketAddress ()

获取此数据包发送或来自的远程主机的SocketAddress(通常为IP地址+端口号)。

Returns
SocketAddress the SocketAddress

也可以看看:

setAddress

Added in API level 1
void setAddress (InetAddress iaddr)

设置此数据报发送到的机器的IP地址。

Parameters
iaddr InetAddress: the InetAddress

也可以看看:

setData

Added in API level 1
void setData (byte[] buf, 
                int offset, 
                int length)

为此数据包设置数据缓冲区。 这设置数据包的数据,长度和偏移量。

Parameters
buf byte: the buffer to set for this packet
offset int: the offset into the data
length int: the length of the data and/or the length of the buffer used to receive data
Throws
NullPointerException if the argument is null

也可以看看:

setData

Added in API level 1
void setData (byte[] buf)

为此数据包设置数据缓冲区。 将此DatagramPacket的偏移量设置为0,长度设置为buf

Parameters
buf byte: the buffer to set for this packet.
Throws
NullPointerException if the argument is null.

也可以看看:

setLength

Added in API level 1
void setLength (int length)

设置此数据包的长度。 数据包的长度是将要发送的数据包的数据缓冲区的字节数,或者将用于接收数据的数据包的数据缓冲区的字节数。 长度必须小于或等于偏移量加上数据包缓冲区的长度。

Parameters
length int: the length to set for this packet.
Throws
IllegalArgumentException if the length is negative of if the length is greater than the packet's data buffer length.

也可以看看:

setPort

Added in API level 1
void setPort (int iport)

设置此数据报发送到的远程主机上的端口号。

Parameters
iport int: the port number

也可以看看:

setSocketAddress

Added in API level 1
void setSocketAddress (SocketAddress address)

设置此数据报发送到的远程主机的SocketAddress(通常是IP地址+端口号)。

Parameters
address SocketAddress: the SocketAddress
Throws
IllegalArgumentException if address is null or is a SocketAddress subclass not supported by this socket

也可以看看:

Hooray!