看了《开发指南》第一章,有个问题一直想不通。

NIO中,SelectionKey.OP_WRITE是什么事件?
READ事件很好理解,就是socket有数据才会触发,WRITE事件怎么理解呢?可以发?什么条件下触发?会连续触发吗?

对socket是不是一定要读一次写一次这样交替进行?如果不是,第一章的TCPClient类可能有问题(25页),run()方法同时负责读写socket,如果messageList.removeReqFirst()方法读不到数据就会使线程停在这里,如果用户不再发数据了,线程就一直wait了,难道这样客户端也收不到任何数据了吗?

大家来说说看啊