【一类你不得不面对的服务端-linux】C语言实现支持yield/resume的插件式网络框架demo...

说明:简单做了一个服务端框架demo,粗略实现一下自己的想法,和协程(coroutine)的理念基本相同,有这么几个核心设计要素是我希望通过代码展现出来的:

1,程序性质是一个服务端框架,需要用户编写请求的解析/反序列化函数,之后请求将经过若干预先编写的插件进行处理。(PS:个人精力的关系,插件直接与源码一起编译,而不是.so)。
2,框架支持插件异步化处理,即某个插件在处理某个请求时可以yield,并在异步处理完成后resume恢复后续插件的处理以及后续请求的处理,这与lua coroutine的想法是一样。

框架的目的是:有这么一大类服务,它们的客户端要求严格的请求->应答顺序,比如请求1->2->3,那么服务端也应返回1->2->3,此类服务如果需要支持异步业务逻辑,实在是离不开诸如coroutine此类的思想进行设计解耦,否则难成框架。(对应的另一类服务是通过在请求中携带唯一的ID来关联应答的,此种服务可以很简单的实现各种复杂的异步逻辑)

 

如果你很好奇如何实现一个请求应答强一致并且支持异步的服务端,比如强大的nginx/lighttpd等同类服务,那么你真的值得简略的了解一下代码了。

 

云盘下载地址:http://pan.baidu.com/share/link?shareid=482636&uk=2686094642

转载于:https://www.cnblogs.com/xmpp/archive/2013/05/18/3085120.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值