NIO - Selector

Selector: 多路复用器,一个selector可以处理多个客户端; 一个selector对应一个线程
NIO - SelectorNIO 非阻塞原理分析图
NIO - Selector

服务端实例
1.开启serverSocketChannel
2.将ServerSocketChannel注册到select(OP_ACCEPT:连接)中
3. 循环等待客户端,当检测到client连接后,开启一个新的SocketChannel,并注册到select (OP_READ:读取)
4. 循环等待客户端,当检测到client读取,获取channel和buffer并打印
5. 每个循环都要移除selector

NIO - SelectorNIO - Selector
客户端实例
1.开启SocketChannel
2.将buffer数据写入Channel中
NIO - Selector