设为首页 加入收藏

TOP

Java NIO操作类型
2015-02-02 14:44:14 来源: 作者: 【 】 浏览:17
Tags:Java NIO 操作 类型

JAVA NIO共定义了四种操作类型:OP_READ、OP_WRITE、OP_CONNECT、OP_ACCEPT,分别对应读、写、请求连接、接受连接等网络Socket操作。ServerSocketChannel和SocketChannel可以注册自己感兴趣的操作类型,当对应操作类型的就绪条件满足时OS会通知channel,下表描述各种Channel允许注册的操作类型,Y表示允许注册,N表示不允许注册,其中服务器SocketChannel指由服务器ServerSocketChannel.accept()返回的对象。


客户端请求连接,服务器端接受连接,客户端与服务器端开始相互发送消息(读写),按这个逻辑上表就容易理解。为了更深入理解,我们可以看看每个操作类型的就绪条件。


java.nio.channels.SelectionKey类定义了这四种操作类型并提供就绪判断方法:


public final boolean isReadable() {
? ? ? ? return (readyOps() & OP_READ) != 0;
? ? }
? ?
public final boolean isWritable() {
? ? ? ? return (readyOps() & OP_WRITE) != 0;
? ? }? ?
? ?
public final boolean isConnectable() {
? ? ? ? return (readyOps() & OP_CONNECT) != 0;
? ? }?
? ?
public final boolean isAcceptable() {
? ? ? ? return (readyOps() & OP_ACCEPT) != 0;
? ? }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Qt中实时将Qtableview中的内容显.. 下一篇Java AIO 服务器与客户端实现示例

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: