java中NIO初学时遇到的问题求解

给服务器管道注册读就绪事件报错了,但上一行代码是注册接收事件为什么没有报错?图片说明

注册SelectionKey.OP_READ 事件需要接受了SelectionKey.OP_ACCEPTServerSocketChannel 进行accept才可以。具体查看下面的文章
文章地址

接收accept建立连接后再注册读事件。http://m.blog.csdn.net/whb123andy/article/details/17243649

ServerSocketChannel首先需要注册一个accept事件来接受来自SocketChannel的连接,建立连接后才能注册并接受read和write事件