码迷,mamicode.com
首页 > 其他好文 > 详细

任务定义器——SocketProcessor

时间:2015-02-08 20:48:54      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:tomcat   socketprocessor   任务定义器   线程池   web   

将socket扔进线程池前需要定义好任务,要进行哪些逻辑处理由SocketProcessor定义,根据线程池的约定,作为任务必须扩展Runnable。用如下伪代码表示

protected class SocketProcessor implements Runnable {

        public void run() {

对socket进行处理并输出响应报文;

连接数计数器减一腾出通道;

关闭socket;

        }

 }

     任务主要分为三点:处理socket并相应客户端、连接数计数器减一、关闭socket。其中对socket的处理是最重要也是最复杂的,它包括对底层socket字节流的读取、http协议请求报文的解析(请求行、请求头、请求体等信息的解析)、根据请求行解析得到路径去寻找相应主机上web项目的资源、根据处理的结果组装好http协议响应报文输出到客户端。此部分是web容器的核心,往下将一一剖析。引入任务定义器后整个模块变为如下:

技术分享

任务定义器——SocketProcessor

标签:tomcat   socketprocessor   任务定义器   线程池   web   

原文地址:http://blog.csdn.net/wangyangzhizhou/article/details/43640645

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!