Vino - 一个轻量级的 Web Server 重构初步完成 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
tinylcy

Vino - 一个轻量级的 Web Server 重构初步完成

  •  1
     
  •   tinylcy Nov 26, 2017 5386 views
    This topic created in 3081 days ago, the information mentioned may be changed or developed.

    校招结束,最近一鼓作气重构了去年造的一个轮子 Vino

    Vino 旨在实现一个轻量并且能够保证性能的 Web Server,仅关注 Web Server 的本质部分。在重构过程中,Vino 借鉴了许多优秀开源项目的思想,如 Nginx、mongoose 和 Webbench。因此,对比上一个版本的 Vino,现在的 Vino 不仅性能得到提升,而且设计也更为优雅、健壮 :D。

    Vino 的源码放在了 GitHub 上,欢迎提 Issue 和 Star。

    24 replies    2017-11-27 16:48:27 +08:00
    owenliang
        1
    owenliang  
       Nov 26, 2017 via Android
    鼓励鼓励吧,早年间也爱造 server,现在更爱 golang 这种轮子了。
    tinylcy
        2
    tinylcy  
    OP
       Nov 26, 2017
    @owenliang 嗯,谢鼓励,正在您的 GitHub 主页观摩 :)
    owenliang
        3
    owenliang  
       Nov 26, 2017 via Android   1
    你的 rio_writen 有问题的样子,貌似没处理 EAGAIN。
    TKKONE
        4
    TKKONE  
    PRO
       Nov 26, 2017 via Android
    scut
    acgnsstech
        5
    acgnsstech  
       Nov 26, 2017
    支持 php 吗?
    tinylcy
        6
    tinylcy  
    OP
       Nov 26, 2017
    @acgnsstech 暂时还不支持。
    tinylcy
        7
    tinylcy  
    OP
       Nov 26, 2017
    @owenliang 确实,我去修复这个 bug,感谢。
    skydiver
        8
    skydiver  
       Nov 27, 2017
    Remember
        9
    Remember  
       Nov 27, 2017
    这个真的是重复造轮子了,除了自己练手之外意义不大,倒是 golang 的那个 caddy 最近挺红的,个人博客之类的小站点完全满足需求了
    fuxiaohei
        10
    fuxiaohei  
       Nov 27, 2017
    比较纯粹的 http server,你还可以参考 https://github.com/h2o/h2o
    tinylcy
        11
    tinylcy  
    OP
       Nov 27, 2017
    @Remember 嗯,谢谢,我去了解一下。
    tinylcy
        12
    tinylcy  
    OP
       Nov 27, 2017
    @fuxiaohei THX :)
    l00t
        13
    l00t  
       Nov 27, 2017
    为什么名字叫酒……
    tinylcy
        14
    tinylcy  
    OP
       Nov 27, 2017
    @l00t [酒] 意指 [经得起时间的考验...] ,再引申就是 [代码够健壮....] ,嗯。
    metrue
        15
    metrue  
       Nov 27, 2017
    正在打算在我的 fx 项目支持 C 语言呢,等楼主这个项目支持了 POST,打算直接使用。
    tinylcy
        16
    tinylcy  
    OP
       Nov 27, 2017
    @metrue 吼~
    myself659
        17
    myself659  
       Nov 27, 2017
    用 c 语言写代码很锻炼基本功
    wellsc
        18
    wellsc  
       Nov 27, 2017
    为啥不上 libevent 呢?
    wujunze
        19
    wujunze  
       Nov 27, 2017
    最好的学习方式就是造轮子
    liteyou
        20
    liteyou  
       Nov 27, 2017
    写轮子,是练基本功
    tinylcy
        21
    tinylcy  
    OP
       Nov 27, 2017
    @liteyou
    @wujunze

    can't agree more.
    nicktogo
        22
    nicktogo  
       Nov 27, 2017
    CMU 计算机网络课程第一个 lab 大体上就和这项目类似。
    PS. rio 部分似乎来自 csapp ?直接 copyright 可能不太正确
    tinylcy
        23
    tinylcy  
    OP
       Nov 27, 2017
    @nicktogo 是的,CMU 15213 的 Lab 1 实现的是一个迭代式的 Web Server,我正是基于它不断增加特性。RIO 来源 CSAPP,我当时写的时候也考虑到 RIO 的 copyright 问题,但是暂时不知应该如何正确声明,所以先给写上了,后续定会修改。
    bramblex
        24
    bramblex  
       Nov 27, 2017
    棒, 已 start
    About     Help     Advertise     Blog     API     FAQ     Solana     2206 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 68ms UTC 00:44 PVG 08:44 LAX 17:44 JFK 20:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86