java NIO网络编程之SelectionKey
概述
SelectionKey是java.nio.channels包下的一个类,主要用于绑定selector和chanel之间的关联(注册关系)。
SelectionKey定义了selector监控事件的四种类型:
public static final int OP_READ = 1 << 0; //1,数据读取完成触发的事件public static final int OP_WRITE = 1 << 2; //4 数据写入完成触发的事件public static final int OP_CONNECT = 1 << 3; //8 连接成功触发的事件public static final int OP_ACCEPT = 1 << 4; // 16 有新客户端进来触发的事件,这个是ServerSocketChannel只支持的事件。
API:
public abstract Selector selector(); //返回创建这个SelectionKey的Selector。//返回该SelectionKey是否有效,刚创建时有效,如果是cancel、绑定的通道关闭、或者创建他的选择器关闭了,他就无效。
public abstract boolean isValid();//取消注册
public abstract void cancel();//修改Selector监听该SelectionKey的事件类型。
public abstract SelectionKey interestOps(int ops);//是否可读
public final boolean isReadable()//是否可写
public final boolean isWritable()//是否已连接
public final boolean isConnectable()//是否有新客户端连接到来
public final boolean isAcceptable()//返回当前触发的事件
public abstract int readyOps();//获取附带的数据
public final Object attachment()//设置附带的数据public final Object attach(Object ob)
java NIO网络编程之SelectionKey相关推荐
- Java NIO网络编程之Selector
概述 Java的NIO,用非阻塞的IO方式,可以用一个线程,处理多个客户端连接(多路复用),就会用到Selector(多路复用器/选择器). Selector能够检测多个注册通道channel上是否有 ...
- Java:网络编程之UDP的使用
java.net 类 DatagramSocket 此类表示用来发送和接收数据报包的套接字,数据报套接字是包投递服务的发送或接收点. java.net 类 DatagramPacket 此类表示数 ...
- Java网络编程之NIO编程(待补充)
Java网络编程之NIO编程(待补充) 学习网站1:http://ifeve.com/java-nio-all/ 学习网站2:http://www.ibm.com/developerworks/cn/ ...
- 原生JDK网络编程之NIO篇
原生JDK网络编程之NIO篇 一.NIO是什么 NIO库是在JDK1.4中引入的.NIO弥补了原来的I/O的不足,它在标准Java代码中提供了高速的.面向块的I/O. NIO可以称为 no-b ...
- java 网络编程简单聊天_网络编程之 TCP 实现简单聊天
网络编程之 TCP 实现简单聊天 客户端 1.连接服务器 Socket 2.发送消息 package lesson02;import java.io.IOException;import java.i ...
- Java网络编程之TCP、UDP
Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载. J ...
- java网络编程之TCP通讯
java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, 1 /* 2 *TCP 3 *建立连接,形成传输数据的通道: 4 *在连接中进行大数据量传输: ...
- 浅谈Java网络编程之Socket (2)
<浅谈Java网络编程之Socket (1)>中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码. import java.net.*; import java.io ...
- 浅谈Java网络编程之Socket (1)
和大家一起分享的是Java网络编程之Socket.在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关键的方法,一个是getInputStream方法,另一个是get ...
最新文章
- [导入]VB实现SQL Server数据库备份/恢复
- 如何成为一名大数据工程师?
- ITK:自适应直方图均衡图像滤波器
- JS中数据类型、内置对象、包装类型对象、typeof关系
- DAVY的神龙帕夫——读者的心灵故事|十二橄榄枝的传说
- 文件系统(02):基于SpringBoot框架,管理Xml和CSV文件类型
- php 波形图,PHP分析.wav文件并绘制png格式的波形图_PHP
- 961计算机组成原理,2017年华中科技大学附属协和医院961计算机组成原理考研强化模拟题...
- 18.TCP使用的注意事项
- 《马化腾:领跑互联网》— 综合素质提升书籍
- Java开发微信公众号
- Inter core i7处理器中(x86架构)驱动开发:关于APCI Hardware ID的描述
- 数据预测模型_如何根据已有数据得出预测模型?线性回归公式来帮你!
- 寄存器与ROM与RAM
- 欧盟物联网推动措施重点与趋势观察
- 二、什么是asp网站
- matlab用割线法,Todd’s Matlab讲义第6讲:割线法
- Personalized Web Search总结
- ElasticSearch 中的中文分词器以及索引基本操作详解
- 脱离鼠标后必须记住地快捷命令方式
热门文章
- 大数据学习笔记48:Flume Sources(Flume源)
- JavaScript学习笔记:类型检测
- bzoj1293 [SCOI2009]生日礼物 单调队列
- 2017.9.11 聪明的燕姿 失败总结
- 【英语学习】【WOTD】stratagem 释义/词源/示例
- 【英语学习】【WOTD】litmus test 释义/词源/示例
- 个人知识整理(javascript篇初识)
- 计算机网络OSI模型、TCP/IP模型与5G协议
- python勿使用mutable值作为默认参数
- php 小程序自定义图,微信小程序之如何使用自定义组件封装原生 image 组件