免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: windyrobin
打印 上一主题 下一主题

自己写了个web server [开源] [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-03-20 11:19 |只看该作者
原帖由 windyrobin 于 2009-3-20 10:09 发表
我的设计目标是“简洁” ,“高效”,比如http协议的get/post/head/put/delete/option 等
共8.9个method,我仅实现了最重要最实用的前三个,再如http code 从1XX 到5XX
好几十个,我感觉没必要全实现,大部分 ...


我觉得你可以尝试实现一个嵌入式的web server,为一般C程序提供Web接口方案

虽然用C实现CGI很简单,但是实际使用时,为了一个很简单的C CGI,不得不配置一个大个头的Web server,对俺这种业余人士还是比较困难的

论坛徽章:
0
22 [报告]
发表于 2009-03-20 11:21 |只看该作者

回复 #20 james.liu 的帖子

我晕 ,vs2008本就包含vc2008了呀,如果你不习惯nmake,
可以在vs2008中新建项目,把所有.h ,.c ,.cpp 都加到工程中就ok了呀

如果把整个工程都压缩的话,会大大增加压缩体积的,而且过几天我还要在linux测试下,
也要用make ,makefile ,这样所有平台一个几十k的小压缩包就都搞定了。

论坛徽章:
0
23 [报告]
发表于 2009-03-20 11:29 |只看该作者
原帖由 reiase 于 2009-3-20 11:19 发表


我觉得你可以尝试实现一个嵌入式的web server,为一般C程序提供Web接口方案

虽然用C实现CGI很简单,但是实际使用时,为了一个很简单的C CGI,不得不配置一个大个头的Web server,对俺这种业余人士还是比 ...


呵呵,这位老大肯定没仔细看我的introduction ,
Robin_e (embedded)就是为了你说的需求量身定做的,
用c写页面处理,我开发这个服务器的初衷就是这个目的,

Robin_w 则是面向较大性的web application ,可以用c++写页面处理

论坛徽章:
0
24 [报告]
发表于 2009-03-20 11:34 |只看该作者
原帖由 windyrobin 于 2009-3-20 11:29 发表


呵呵,这位老大肯定没仔细看我的introduction ,
Robin_e (embedded)就是为了你说的需求量身定做的,
用c写页面处理,我开发这个服务器的初衷就是这个目的,

Robin_w 则是面向较大性的web applicati ...


开始确实没仔细看.....

论坛徽章:
0
25 [报告]
发表于 2009-03-20 11:37 |只看该作者

回复 #22 windyrobin 的帖子

嗯嗯,,谢谢

论坛徽章:
0
26 [报告]
发表于 2009-03-20 15:23 |只看该作者
原帖由 windyrobin 于 2009-3-20 11:29 发表

用c写页面处理,我开发这个服务器的初衷就是这个目的,

支持一下
如果为了c处理请求 可以考虑写apache module 通用 强大

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之水原三星
日期:2015-06-02 16:34:202015年亚冠纪念徽章
日期:2015-10-19 18:13:37程序设计版块每日发帖之星
日期:2015-11-08 06:20:00
27 [报告]
发表于 2009-03-20 20:15 |只看该作者
原帖由 zhoubug 于 2009-3-20 15:23 发表

支持一下
如果为了c处理请求 可以考虑写apache module 通用 强大


为什么我觉得apache module更难写呢,很多东西还不可以控制

论坛徽章:
0
28 [报告]
发表于 2009-04-08 16:14 |只看该作者
不错,顶一下!

论坛徽章:
0
29 [报告]
发表于 2009-04-08 16:52 |只看该作者

回复 #23 windyrobin 的帖子

楼主大大强!
不过,小弟看了下,感觉模型太过简单,采用unix 网络编程 那套,来一个连接起一个线程。这种模型不太好。尤其瞬间高并发情况,估计楼主大大的并发不会超过几百个。
建议采用线程池,把连接均匀分配到各个线程里,每个线程分配几百个连接。
另外,要有兴趣,楼主大大可以用linux2.6的核,用epoll。这个目前比较流行。也简单。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP