- 博客(7)
- 收藏
- 关注
原创 CERL2 系列6:SDL,面向数据流的网络协议
在《CERL2 系列5:SDL与我对网络协议的思考》一文中,尽管我对 SDL 的来龙去脉做了介绍,但是我发现还是遗漏了非常重要的内容。朋友们可能会问,SDL看起来不就是一个普通的IDL(接口描述语言)吗,为什么不直接沿用一个现成的标准呢? 很多时候,看似相似的东西却会是貌似神不是。正是因为我觉得IDL并不符合我对网络接口协议的观点,所以才有了 SDL。 首先,多数 IDL 都是面向
2010-01-20 01:37:00 6032 20
原创 CERL2 系列5:SDL与我对网络协议的思考
网络编程中,网络协议是最最关键的角色。这就像我在客户端编程的时候,最关心模块接口一样。网络协议是客户端(B或C)与服务端(S)之间的交互接口。 我关注网络协议的时候,和很多人关注的面是不同的。不少人问我,你喜欢用Soap,REST,还是喜欢自己定义网络协议?喜欢用XML,还是json?从某种意义上来说,我不关心这些。对我来说,这些只是网络协议的载体。 提到网络协议,我们应该意识到,
2010-01-18 23:50:00 6986 26
原创 CERL2 系列4:CERL体系与框架概览
在《CERL2 系列1: Hello,CERL2!纤程!》中,我们提到:CERL2 在 CERL 上进行了编程模型的演化,并且形成了多个子库。最主要的两个子库为 async 和 venus。 我们这一篇中,将更加详细地描述 CERL2 的整体框架体系。先一图概括之: async
2010-01-17 12:55:00 6051 6
转载 Google百度和谷歌的那些事
这篇文章很棒,我读了多遍。觉得应该让更多人读到,所以转载了。--Google百度和谷歌的那些事作者:virushuo 发表于 2010-01-14 22:01 最后更新于 2010-01-14 23:01版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。http://blog.devep.net/virushuo/2010/01/14/blog56
2010-01-15 00:07:00 18824 165
原创 CERL2 系列3:CERL既是网络库也是操作系统
我不是在标题党的拥趸。做 cerl/async 就是在做操作系统,这是我和共同开发 cerl 的伙伴们的共同认识。 对于一个适应服务器开发的操作系统,最重要的无非是3件事情:进程管理IO管理内存管理这3件事情我们都自己做了。 首先进程管理。尽管Windows提供了Fiber,Linux也有libucontext库。但是它们并不是操作系统中的“主角”。在当前的
2010-01-12 23:44:00 5957 8
原创 CERL2 系列2:网络编程该用同步还是异步?
在C/C++中,libevent、boost asio 这两个网络库都采用异步编程模型,当IO完成事件发生时,调用一个回调函数处理它。这种编程模型有很好的IO吞吐量。但是付出的代价也很大:丑陋的代码。应用程序逻辑被一个个回调函数切割得支离破碎。复杂的内存管理。一个不小心,就有可能出现回调函数执行的时候,相应的内存已经被释放。调试困难。由于函数被切割,Debug的时候,代码执行顺序不
2010-01-12 01:18:00 8064 65
原创 CERL2 系列1: Hello,CERL2!纤程!
CERL2 经过一段时间的发展,已经稳定下来,是时候揭开它的面纱了。和 CERL2 最初设想并不一样,CERL2 最终没有成为一种语言,它在 CERL 上进行了编程模型的演化,并且形成了多个子库。最主要的两个子库为 async 和 venus。最底层的是 async,它需要针对不同的平台进行包装,以此形成一个网络层。你可以 拿 async 和 boost asio 类比,两者确实是类似的东西,只
2010-01-08 01:38:00 10633 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人