if((count = selector.select()) > 0) {
iterator = selector.selectedKeys().iterator();
while(iterator.hasNext()){
SelectionKey key = (SelectionKey)iterator.next();
else if(key.isWritable()){
//if((key.readyOps() & SelectionKey.OP_WRITE)==SelectionKey.OP_WRITE){
System.out.println(key.toString()+":即将写的操作,是否合法.................."+key.isValid());
WriterHandler.addWriter((ClientRequest)key.attachment());
key.cancel();
--------------------------------------------------------
写了之后 key.cancel();
iterator = selector.selectedKeys().iterator();
while(iterator.hasNext()){
SelectionKey key = (SelectionKey)iterator.next();
else if(key.isWritable()){
//if((key.readyOps() & SelectionKey.OP_WRITE)==SelectionKey.OP_WRITE){
System.out.println(key.toString()+":即将写的操作,是否合法.................."+key.isValid());
WriterHandler.addWriter((ClientRequest)key.attachment());
key.cancel();
--------------------------------------------------------
写了之后 key.cancel();
SelectionKey key = (SelectionKey)iterator.next();
后边加上一句:
iterator.remove();