jdknioserver简介学习netty之前我们需要先了解nio,所以想分享一下如何用jdknio编写服务进程第一步:开启一个服务通道(Channel)并设置非阻塞模式第二步:创建一个serviceStep3:开启一个multiplexer并注册到Channel,对ACCEPT事件感兴趣Step4:轮询选择multiplexer,对不同的multiplexer进行相关操作(读写)publicclassNoUseNettyNio{publicvoidserve(intport)throwsIOException{//打开一个ServerSocketChannelServerSocketChannelserverSocketChannel=ServerSocketChannel.open();//设置一个serverSocketChannel为非阻塞模式,即nioserverSocketChannel.configureBlocking(false);//通过serverSocketChannel获取serverSocketServerSocketserverSocket=serverSocketChannel.socket();//创建服务器网卡地址对象InetSocketAddressaddress=newInetSocketAddress(port);//为serverSocket绑定网卡地址serverSocket.bind(address);//开启一个selector(multiplexSelectorselector=Selector.open();//将multiplexer注册到serverSocketChannel(pipeline)serverSocketChannel.register(selector,SelectionKey.OP_ACCEPT);//创建一个byteBufferByteBufferbuffer=ByteBuffer.wrap(("HTTP/1.1200OK\r\n"+"Content-Type:text/html;charset=UTF-8\r\n").getBytes(StandardCharsets.UTF_8));for(;;){try{//选择一个通道,该方法被阻塞,当有通道、线程中断或Selector唤醒时,返回selector.select();}catch(IOExceptione){e.printStackTrace();休息;}//得到一个selectKey集合,只能删除不能添加,Set
