HTTP Web服务器研究之三 打造一款轻量级web服务器
2015-08-27 12:32
483 查看
从前面的两个研究专题中我们了解到,web请求简单来讲就是web客户端(如浏览器)向服务器发送一个http(s)请求,请求里面包含了参数,在url中或者在字节流中,然后服务器解析出请求参数,返回数据给客户端,然后客户端做响应的处理。这就完成了一个完整的http请求。下面我们着手去打造一款http请求服务器。
开始之前,我们先去了解一下HttpListener和HttpListenerContext这两个类,简单来说HttpListenert的功能就是监听服务器上的空闲端口,等待服务端的请求,当有连接请求时,HttpListenert的GetContext()方法就会返回一个HttpListenerContext实例,这个实例就把http请求包的对象化实例。
我们然后新建一个类SapiService,因为要绑定到服务的ip和空闲端口,所以我们给他定义两个字段_ipAddress,和_port。
给服务定义初始化方法,绑定ip和端口,然后启动监听
然后是服务运行方法,这里使用了线程池方法,没当接收一个客户端请求,就从线程池里面分配一个线程去处理请求
ConcreteProcess中就是请求的真正处理方法
源码地址:https://github.com/390493386/SAPIServer.git 欢迎拍砖
微信公众号weipingtai_dev:
开始之前,我们先去了解一下HttpListener和HttpListenerContext这两个类,简单来说HttpListenert的功能就是监听服务器上的空闲端口,等待服务端的请求,当有连接请求时,HttpListenert的GetContext()方法就会返回一个HttpListenerContext实例,这个实例就把http请求包的对象化实例。
我们然后新建一个类SapiService,因为要绑定到服务的ip和空闲端口,所以我们给他定义两个字段_ipAddress,和_port。
给服务定义初始化方法,绑定ip和端口,然后启动监听
然后是服务运行方法,这里使用了线程池方法,没当接收一个客户端请求,就从线程池里面分配一个线程去处理请求
ConcreteProcess中就是请求的真正处理方法
源码地址:https://github.com/390493386/SAPIServer.git 欢迎拍砖
微信公众号weipingtai_dev:
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- 运维入门
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- IIS 错误 Server Application Error 详细解决方法
- 服务器托管六大优势分析
- Erlang实现的一个Web服务器代码实例
- webshell查看IIS站点配置的方法
- 服务器技术全面解析
- 保护DNS服务器的几点方法小结
- 我国成为全球第二大服务器消费国
- 服务器 安全检查要点[星外提供]
- IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法
- 服务器应用自动重新启动IIS批处理[原创]_DOS/BAT_脚本之家