直接上代码,不多说,里面有详细解释
class run implements Runnable{
private Selector selector;
SocketChannel socketChannel;
public run(Selector selector, SocketChannel socketChannel) {
this.selector = selector;
this.socketChannel = socketChannel;
}
@Override
public void run() {
try {
socketChannel.configureBlocking(false);
socketChannel.register(selector,SelectionKey.OP_READ);
while (selector.select()>0){
System.out.println("有关注的事件发生......");
Iterator<SelectionKey> iterator = selector.selectedKeys().iterator();
while (iterator.hasNext()){
SelectionKey key = iterator.next();
if (key.isReadable()){
System.out.println("有可读事件发生");
//创建buffer实例,
ByteBuffer buffer = ByteBuffer.allo