开始之前了解一下:Linux事件驱动模型
IO Server启动流程大概如下:
-
创建ServerSocket并监听端口
-
不断监听Socket,如果有Socket进来则创建一个线程去处理这个Socket.
NIO Server启动流程大概如下:
-
ServerSocketChannel监听端口并注册到Selector,监听连接请求
如果有连接则创建SocketChannel并注册到Selector;如果有可读事件则从SocketChannel中读取到ByteBuffer;如果有可写事件,则从ByteBuffer中写入到”对方“的SocketChannel
-