|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.net
类 DatagramSocketImpl
java.lang.Object java.net.DatagramSocketImpl
- 所有已实现的接口:
- SocketOptions
-
public abstract class DatagramSocketImpl
- extends Object
- implements SocketOptions
数据报和多播套接字实现的抽象基类。
- 从以下版本开始:
- JDK1.1
字段摘要 | |
---|---|
protected FileDescriptor |
fd 文件描述符对象。 |
protected int |
localPort 本地端口号。 |
从接口 java.net.SocketOptions 继承的字段 |
---|
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY |
构造方法摘要 | |
---|---|
DatagramSocketImpl() |
方法摘要 | |
---|---|
protected abstract void |
bind(int lport, InetAddress laddr) 将数据报套接字绑定到本地端口和地址。 |
protected abstract void |
close() 关闭套接字。 |
protected void |
connect(InetAddress address, int port) 将数据报套接字连接到远程目标。 |
protected abstract void |
create() 创建数据报套接字。 |
protected void |
disconnect() 断开数据报套接字和远程目标的连接。 |
protected FileDescriptor |
getFileDescriptor() 获取数据报套接字文件描述符。 |
protected int |
getLocalPort() 获取本地端口。 |
protected abstract int |
getTimeToLive() 检索 TTL (生存时间)选项。 |
protected abstract byte |
getTTL() 已过时。 使用 getTimeToLive 代替。 |
protected abstract void |
join(InetAddress inetaddr) 加入多播组。 |
protected abstract void |
joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) 加入多播组。 |
protected abstract void |
leave(InetAddress inetaddr) 退出多播组。 |
protected abstract void |
leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) 退出多播组。 |
protected abstract int |
peek(InetAddress i) 查看包来自哪里。 |
protected abstract int |
peekData(DatagramPacket p) 查看包来自哪里。 |
protected abstract void |
receive(DatagramPacket p) 接收数据报包。 |
protected abstract void |
send(DatagramPacket p) 发送数据报包。 |
protected abstract void |
setTimeToLive(int ttl) 设置 TTL (生存时间)选项。 |
protected abstract void |
setTTL(byte ttl) 已过时。 使用 setTimeToLive 代替。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 java.net.SocketOptions 继承的方法 |
---|
getOption, setOption |
字段详细信息 |
---|
localPort
protected int localPort
-
本地端口号。
fd
protected FileDescriptor fd
-
文件描述符对象。
构造方法详细信息 |
---|
DatagramSocketImpl
public DatagramSocketImpl()
方法详细信息 |
---|
create
protected abstract void create() throws SocketException
- 创建数据报套接字。
-
-
- 抛出:
-
SocketException
- 如果底层协议出现错误,例如 TCP 错误。
bind
protected abstract void bind(int lport, InetAddress laddr) throws SocketException
- 将数据报套接字绑定到本地端口和地址。
-
-
- 参数:
-
lport
- 本地端口 param laddr 本地地址 - 抛出:
-
SocketException
- 如果底层协议出现错误,例如 TCP 错误。
send
protected abstract void send(DatagramPacket p) throws IOException
- 发送数据报包。包包含数据和要将包发往的目的地址。
-
-
- 参数:
-
p
- 将发送的包。 - 抛出:
-
IOException
- 如果发送数据报包时出现 I/O 异常。 -
PortUnreachableException
- 套接字连接到当前不可达的目标时可能抛出。注意,不能保证一定抛出该异常。
connect
protected void connect(InetAddress address, int port) throws SocketException
-
将数据报套接字连接到远程目标。此方法使本地套接字和远程地址相关联,从而数据报只能被发送到此目标并只能从此目标被接收。可以重写此方法来调用本机系统连接。
如果套接字要连接的远程目标不存在或不可到达,并且收到了该地址的目标不可达 ICMP 包,那么后续发送和接收的调用可能会抛出 PortUnreachableException。注意,不能保证一定抛出该异常。
-
-
- 参数:
-
address
- 要连接的远程 InetAddress -
port
- 远程端口号 - 抛出:
-
SocketException
- 套接字不能连接到远程目标时可能抛出 - 从以下版本开始:
- 1.4
disconnect
protected void disconnect()
- 断开数据报套接字和远程目标的连接。
-
-
- 从以下版本开始:
- 1.4
peek
protected abstract int peek(InetAddress i) throws IOException
- 查看包来自哪里。
-
-
- 参数:
-
i
- InetAddress 对象 - 返回:
- 包所来自的地址。
- 抛出:
-
IOException
- 如果发生 /O 异常 -
PortUnreachableException
- 套接字连接到当前不可到达的目标时可能抛出。注意,不能保证一定抛出该异常。