public abstract class DatagramSocketImpl extends Object implements SocketOptions
Modifier and Type | Field and Description |
---|---|
protected FileDescriptor |
fd
文件描述符对象。
|
protected int |
localPort
本地端口号。
|
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
Constructor and Description |
---|
DatagramSocketImpl() |
Modifier and Type | Method and Description |
---|---|
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代替。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getOption, setOption
protected int localPort
protected FileDescriptor fd
protected abstract void create() throws SocketException
SocketException
- 如果底层协议有错误,如TCP错误。
protected abstract void bind(int lport, InetAddress laddr) throws SocketException
lport
- 本地港口
laddr
- 本地地址
SocketException
- 如果底层协议有错误,如TCP错误。
protected abstract void send(DatagramPacket p) throws IOException
p
- 要发送的数据包。
IOException
- 发送数据报包时是否发生I / O异常。
PortUnreachableException
- 如果套接字连接到当前不可达PortUnreachableException
,可能会抛出。
注意,不能保证会抛出异常。
protected void connect(InetAddress address, int port) throws SocketException
如果连接到套接字的远程目的地不存在,否则无法访问,并且如果已经收到该地址的ICMP目的地不可达分组,则后续的发送或接收调用可能会引发PortUnreachableException。 注意,不能保证会抛出异常。
address
- 要连接的远程InetAddress
port
- 远程端口号
SocketException
- 如果套接字无法连接到远程目标,可能会抛出
protected void disconnect()
protected abstract int peek(InetAddress i) throws IOException
InetAddress
更新到数据包来自的地址。
i
- 一个InetAddress对象
IOException
- 如果发生I / O异常
PortUnreachableException
- 如果套接字连接到当前不可达目的地,则可能会抛出该错误。
注意,不能保证会抛出异常。
protected abstract int peekData(DatagramPacket p) throws IOException
DatagramPacket
。
数据被返回但不被消耗,以便随后的peekData / receive操作将看到相同的数据。
p
- 分组接收。
IOException
- 如果发生I / O异常
PortUnreachableException
- 如果套接字连接到当前不可达PortUnreachableException
,可能会抛出。
注意,不能保证会抛出异常。
protected abstract void receive(DatagramPacket p) throws IOException
p
- 分组接收。
IOException
- 如果在接收到数据报包时发生I / O异常。
PortUnreachableException
- 如果套接字连接到当前不可达PortUnreachableException
,可能会抛出。
注意,不能保证会抛出异常。
@Deprecated protected abstract void setTTL(byte ttl) throws IOException
ttl
- 指定TTL值的字节
IOException
- 如果在设置生存时间选项时发生I / O异常。
getTTL()
@Deprecated protected abstract byte getTTL() throws IOException
IOException
- 如果在检索生存时间选项时发生I / O异常
setTTL(byte)
protected abstract void setTimeToLive(int ttl) throws IOException
ttl
- 一个
int
生存时间值的
int
IOException
- 如果在设置生存时间选项时发生I / O异常。
getTimeToLive()
protected abstract int getTimeToLive() throws IOException
int
代表了实时价值
IOException
- 如果在检索生存时间选项时发生I / O异常
setTimeToLive(int)
protected abstract void join(InetAddress inetaddr) throws IOException
inetaddr
- 要加入的组播地址。
IOException
- 加入多播组时是否发生I / O异常。
protected abstract void leave(InetAddress inetaddr) throws IOException
inetaddr
- 多播地址要离开。
IOException
- 如果在离开多播组时发生I / O异常。
protected abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
mcastaddr
- 加入地址。
netIf
- 指定接收组播数据报包的本地接口
IOException
- 加入多播组时是否发生I / O异常
protected abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
mcastaddr
- 地址离开。
netIf
- 指定本地界面离开组
IOException
- 如果在离开多播组时发生I / O异常
protected abstract void close()
protected int getLocalPort()
int
代表本地端口值
protected FileDescriptor getFileDescriptor()
FileDescriptor
对象