代码如下:
ServerSocketChannel ssc = (ServerSocketChannel)key.channel();
SocketChannel sc = ssc.accept();
sc.configureBlocking(false);
sc.register(selector, SelectionKey.OP_READ | SelectionKey.OP_WRITE);while(true) {
int n = selector.select();
Set set = selector.selectedKeys();
Iterator it = set.iterator();
while(it.hasNext()) {
SelectionKey key = (SelectionKey)it.next();
it.remove();
if(key.isReadable()) { //问题:什么情况下会执行if中的语句?API说在k.readyOps() & OP_READ != 0为true时执行,那么怎样才能知道readOps()返回值是多少?
.......
}
if(key.isWritable()) { //问题同上
.......
}