NIO SelectionKey attachment()空指针错误

Posted 代码空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NIO SelectionKey attachment()空指针错误相关的知识,希望对你有一定的参考价值。

Channel注册到Selector时添加了一个Object:

serverSocketChannel1.register(selector, SelectionKey.OP_ACCEPT, num[0]); 

后来取这个Object:

selectionKey.attachment();

出现空指针错误:

Exception in thread "main" java.lang.NullPointerException

很奇怪,后来发现第一次注册时添加了Object,后来注册时没有添加,导致了空指针错误:

client.register(selector, SelectionKey.OP_READ);

每次注册都添加Object,就不会有这个错误了:

client.register(selector, SelectionKey.OP_READ, num); 

以上是关于NIO SelectionKey attachment()空指针错误的主要内容,如果未能解决你的问题,请参考以下文章

Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)

Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)

Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)

Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)

JDK NIO SelectionKey bug

java nio并发访问问题,我现在利用nio框架制服务器的并发访问,SelectionKey多线程