基于“事件”彻的流程
-
处理ServerSocketChannel(服务socket)的选择键(服务端选择键)
-
读取客户端请求的socketChannel(取名:接收socket,方便后面区分)
-
处理服务socket的inbound事件channelRead
-
设置接收socket的操作及属性,注册SelectionKey(取名:接收选择键,方便后面区分),以及初始化handler
-
处理接收socket的outbound事件read:为接收选择键添加READ操作
-
调用接收socket的inbound事件channelRegistered(未做任何实质处理)
-
处理接收socket的inbound事件channelActive:添加闲置超时handler,发布接收socket的connected观察者事件
-
处理服务socket的inbound事件ChannelReadComplete
-
完成服务端选择键的处理(如果接收多个客户端请求,则重复1-7处理步骤)
-
-
开始处理接收选择键
-
从接收socket中读取客户端的请求消息
-
处理接收socket的inbound事件channelRead:解码请求消息、绑定httpServer操作集到接收socket、发布configured观察者事件、发布request_received观察者事件
-
调用httpHandler处理接收到的请求(最终执行d
-