public interface NetworkChannel extends Channel
实现此接口的通道是通向网络套接字的通道。 该bind
方法用于套接字绑定到本地address
,所述getLocalAddress
方法返回套接字绑定到地址, setOption
种getOption
方法用于设置和查询套接字选项。 此接口的实现应指定其支持的套接字选项。
指定不另外具有值返回值的bind
和setOption
方法来返回调用它们的网络通道。 这允许方法调用被链接。 该接口的实现应该专门化返回类型,以便可以链接实现类上的方法调用。
Modifier and Type | Method and Description |
---|---|
NetworkChannel |
bind(SocketAddress local)
将通道的套接字绑定到本地地址。
|
SocketAddress |
getLocalAddress()
返回此通道的套接字所绑定的套接字地址。
|
<T> T |
getOption(SocketOption<T> name)
返回套接字选项的值。
|
<T> NetworkChannel |
setOption(SocketOption<T> name, T value)
设置套接字选项的值。
|
Set<SocketOption<?>> |
supportedOptions()
返回此通道支持的一组套接字选项。
|
NetworkChannel bind(SocketAddress local) throws IOException
该方法用于在套接字和本地地址之间建立关联。 一旦建立关联,则套接字保持绑定,直到通道关闭。 如果local
参数的值为null
则套接字将被绑定到自动分配的地址。
local
- 绑定套接字的地址,或
null
将套接字绑定到自动分配的套接字地址
AlreadyBoundException
- 如果套接字已经绑定
UnsupportedAddressTypeException
- 如果不支持给定地址的类型
ClosedChannelException
- 如果通道关闭
IOException
- 如果发生其他I / O错误
SecurityException
- 如果安装了一个安全管理器,并且它拒绝了未指定的权限。
此接口的实现应指定任何所需的权限。
getLocalAddress()
SocketAddress getLocalAddress() throws IOException
通道为Internet协议套接字地址的bound
,则此方法的返回值为InetSocketAddress
。
null
ClosedChannelException
- 如果通道关闭
IOException
- 如果发生I / O错误
<T> NetworkChannel setOption(SocketOption<T> name, T value) throws IOException
T
- 套接字选项值的类型
name
- 套接字选项
value
- 套接字选项的值。
值为null
可能是某些套接字选项的有效值。
UnsupportedOperationException
- 如果此通道不支持套接字选项
IllegalArgumentException
- 如果该值不是此套接字选项的有效值
ClosedChannelException
- 如果此通道关闭
IOException
- 如果发生I / O错误
StandardSocketOptions
<T> T getOption(SocketOption<T> name) throws IOException
T
- 套接字选项值的类型
name
- 套接字选项
null
可能是某些套接字选项的有效值。
UnsupportedOperationException
- 如果此通道不支持套接字选项
ClosedChannelException
- 如果此通道关闭
IOException
- 如果发生I / O错误
StandardSocketOptions
Set<SocketOption<?>> supportedOptions()
即使通道关闭后,此方法仍将继续返回该选项。