当前位置 类层次(JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.net.DatagramSocket

java.lang.Object
   |
   +----java.net.DatagramSocket

public class DatagramSocket
extends Object
super class of:
MulticastSocket

此类表示一个发送和接收数据报文包的 socket 。

一个数据报文 socket 是无连接包传递服务的发送或接收点。 每一个在数据报文 socket 发送或接收的包都独立地进行寻址和路由。 多个包从一台机器到另一台机器可能经过不同的路径,并且可以以任意顺序到达。

来自:
JDK1.0
参见:
DatagramPacket

构造子索引

DatagramSocket()
构造一个数据报文 socket 并且把它捆绑到本地主机任意可用的端口上。
DatagramSocket(int)
构造一个数据报文 socket 并且把它捆绑到本地主机指定的端口上。
DatagramSocket(int, InetAddress)
生成一个数据报文 socket ,并捆绑到指定的本地地址。

方法索引

close()
关闭该数据报文 socket 。
getLocalAddress()
获取该 socket 绑定的本地地址。
getLocalPort()
返回该 socket 绑定的本地主机的端口号。
getSoTimeout()
提取 SO_TIMEOUT 的设置。
receive(DatagramPacket)
从此 socket 接收数据报文包。
send(DatagramPacket)
从此 socket 发送数据报文包。
setSoTimeout(int)
以毫秒为单位,设置或取消由 SO_TIMEOUT 指定的超时。

构造子

DatagramSocket
 public DatagramSocket() throws SocketException
构造一个数据报文 socket 并且把它捆绑到本地主机任意可用的端口。

抛出:SocketException
如果该 socket 无法打开,或该 socket 无法绑定到指定的本机端口。
DatagramSocket
 public DatagramSocket(int port) throws SocketException
构造一个数据报文 socket 并且把它捆绑到本地主机指定的端口。

参数:
local - 使用的端口。
抛出:SocketException
如果该 socket 无法打开,或该 socket 无法绑定到指定的本机端口。
DatagramSocket
 public DatagramSocket(int port,
                       InetAddress laddr) throws SocketException
生成一个数据报文 socket ,并捆绑到指定的本地地址。 本机端口必须为 0 和 65535 之间的一个。

参数:
port - 使用的本机端口。
laddr - 捆绑的本地地址 。

方法

send
 public void send(DatagramPacket p) throws IOException
从此 socket 发送数据报文包。 DatagramPacket 包含发送的数据的有关信息,包括它的长度,远程主机的IP 地址和远程主机的端口号。

参数:
p - 发送的 DatagramPacket
抛出: IOException
如果发生一个 I/O 错误。
参见:
DatagramPacket
receive
 public synchronized void receive(DatagramPacket p) throws IOException
从此 socket 接收数据报文包。 当该方法返回时, 接收的数据填充到 DatagramPacket 的缓冲区。 该数据报文包还包含发送方的IP 地址和发送方机器的端口号。

该方法按块记录,直到接收到一个数据报文包。 数据报文包对象的 length 字段包含接收的报文的长度。 如果报文的长度大于缓冲区长度 ,报文将被截断 。

参数:
p - 输入的数据放入的 DatagramPacket
抛出: IOException
如果发生一个 I/O 错误。
参见:
DatagramPacket, DatagramSocket
getLocalAddress
 public InetAddress getLocalAddress()
获取该 socket 绑定的本地地址。

getLocalPort
 public int getLocalPort()
返回该 socket 绑定的本地主机的端口号码。

返回:
返回该 socket 绑定的本地主机的端口号。
setSoTimeout
 public synchronized void setSoTimeout(int timeout) throws SocketException
以毫秒为单位,设置或取消 SO_TIMEOUT 指定的超时。 使用设置成非零的超时选择项对该 DatagramSocket 调用 receive() 方法,该方法在这段设定的时间内阻塞。 如果超时得以验证 ,java.io.InterruptedIOException 将被启动 ,即使 ServerSocket 仍有效。 选择项 must 被设置成可以加入封锁操作。 超时必须是 > 0 。 取值为零的超时被解释为无穷大的超时。

getSoTimeout
 public synchronized int getSoTimeout() throws SocketException
提取 SO_TIMEOUT 的设置。 返回值为 0 表示该选择项是屏蔽的 (如: 超时为无穷大)。

close
 public void close()
关闭该数据报文 socket 。


当前位置 类层次(JDK) 所有类 (JDK) 所有域和方法 (JDK)