一、前言

  前面介绍了ServerCnxn,下面开始学习NIOServerCnxn。

二、NIOServerCnxn源码分析

  2.1 类的继承关系

public class NIOServerCnxn extends ServerCnxn {}

  说明:NIOServerCnxn继承了ServerCnxn抽象类,使用NIO来处理与客户端之间的通信,使用单线程处理。

  2.2 类的内部类

  1. SendBufferWriter类 

Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训 SendBufferWriter

  说明:该类用来将给客户端的响应进行分块,其核心方法是checkFlush方法,其源码如下

Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

        private void checkFlush(boolean force) {            if ((force && sb.length() > 0) || sb.length() > 2048) { // 当强制发送并且sb大小大于0,或者sb大小大于2048即发送缓存                sendBufferSync(ByteBuffer.wrap(sb.toString().getBytes()));     &