HTTP 服务器 Tiny httpd

MIT
C/C++
Linux
2015-05-12
兔之

Tinyhttpd 是一个支持多端口监听的 HTTP 服务器,基于 QT QTcpServer 封装。

目录结构

[src]
├── LICENSE               #MIT许可证
├── README.md             #使用说明
├── tinyhttpd.pro         #工程文件
#主程序
├── main.cpp              #启动多端口监听
├── serverthread.cpp      #QThread子类线程,设置IP,port及启动Server
├── server.cpp            #QTcpServer子类,多线程,每个线程对应一个port监听
├── request.cpp           #接受client请求,多线程,每个线程对应一个请求
├── response.cpp          #构造返回Request Headers
├── responsefile.cpp      #返回网页
├── responsedictionary.cpp#列举url对应目录
├── mime.cpp              #设定扩展应用
├── common.cpp            #获取当前时间
├── log.cpp               #日志系统
#配置
├── httpstatus.h          #状态码
├── tinyhttpd.ini         #服务器配置文件
├── tinyhttpd.log         #服务器日志
├── mime.txt              #mime配置
[www]                     #网站根目录
├──static
├──index.html
[response]                #网页返回状态网页
├── 301.html              #301 Permanently Moved
├── 304.html              #304 Not Modified
├── 403.html              #403 Forbidden
└── 404.html              #404 Not Found

Todo

  • 加入Redis数据库支持,存储访问数据

  • 加入QT界面,显示实时连接情况

运行环境

  • Linux/Mac OS X

  • QT4/QT5

使用

  • 打开配置文件 tinyhttpd.ini 配置服务器选项。

[httpd]
port=1234|1235|1236   #配置服务器监听的多个端口,用|隔开
ipv6=true             #配置ipv6支持
logfile=tinyhttpd.log
show_log=true

[site]
root_path=/home/huangyi/Practice/QT/tinyhttpd/www  #网站根目录
dir_listing=true                  #是否允许获取文件树,否则返回403 forbidden
#index="index.html", "index.htm"  #配置后,直接跳到网页index.html,不列出文件树

[request]
buffer_size=1048576        #为网页文件分配的内存空间
keep_alive_enable=true     #是否打开长连接
keep_alive_default=true
keep_alive_timeout=30      #长连接timeout
keep_alive_timeout_max=300
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

lbaas及heat-autoscaling(juno)

实例模板: https://github.com/openstack/heat-templates/tree/master/hot key是keypair 其中下述命令中各参数可以用nova net-list nova flavor-list获取: heat stack-create -f autoscali...

2016/03/29 10:15
35
1
Tiny1.2.0预览版全面开源

感谢 感谢OSChina为我们提供了这么好的共享与交流平台。 感谢红薯及OSChina管理团队所有打过没打过交道同仁对Tiny一直以来的支持与帮助。 感谢所有鼓励和批评我的同学们,鼓励者为我们添加勇...

2014/11/28 09:17
3.7K
9
Tiny有毒

呵呵,想比较通俗的介绍一下Tiny,居然没有办法下手,想了半天想不好一个标题,不知如何,忽然冒出个“Tiny有毒”来,结果越体会,越觉得这个题目不错,于是乎就它了。 学习Tiny的三个层次 ...

2014/12/08 10:22
2.3K
5
Tiny快速入门之服务开发

周五发了Tiny框架即将全面开源一文,有不少同学给了不少有意义的意见和建议,其中一条就是感觉太虚了,期望来点实的,因此本文将从实打实的快速开发方面讲起,来说明一下用Tiny框架开发一些业...

2014/11/23 10:38
6.3K
10
Tiny框架设计理念

使用灵活,可以整个使用它,也可以只用它的一个或几个部分 Tiny框架的项目组织不是放在一个大包里面的,而是根据功能进行了细致的模块划分,这样,在使用的时候,可以更加灵活,可以只使用其...

2013/10/05 09:51
1K
1
几款C语言实现的Web Server开源程序

lighttpd - light footprint + httpd = LightTPD Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常...

2011/11/29 17:04
1K
0
构建Tiny生态圈

生态圈 生态圈又称商业生态圈,指商业活动的各利益相关者通过共同建立一个价值平台。各个角色关注其所在的价值平台的整体特性,通过平台撬动其它参与者的能力,使这一系统能够创造价值,并从...

2013/10/05 09:56
296
0
Tiny Core Linux 4.1 发布

Tiny Core Linux是一个仅11MB大小的图形化Linux;基于2.6版本内核,BusyBox, Tiny X, Fltk, 以及Flwm。它是一个轻量级可拓展发行,长驻内存,可从任何可启动设备加载。其4.1版本刚刚发布。诸...

2011/11/25 21:56
122
0
TinyTemplate与Velocity详细对比

再多的口水,也不如一个实际的例子来得实际,这次不说Tiny框架引擎的执行效率大致是Velocity的4倍这个事儿,仅就通过示例的方式展示一下TinyTemplate和Velocity的功能上的差异。...

2014/08/01 18:29
565
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部