c++收集库调研

来源:互联网 发布:ai cs6 mac破解版下载 编辑:程序博客网 时间:2024/06/05 17:56

http://blog.csdn.net/langeldep/article/details/6976120

在开源的C/C++收集库中,常用的就那么几个,在业界有名度最高的,应当是ACE了,不过是个重量级的大师伙,轻量级的有libevent, libev,还有 Boost的ASIO。

ACEhttp://www.cs.wustl.edu/~schmidt/ACE.html

ACE是一个大型的中心件产品,代码20万行阁下,过于弘远,一堆的设计模式,架构了一层又一层,应用的时辰,要按照景象,看你从那一层来进行应用。支撑跨平台。

ASIOhttp://think-async.com/

Boost的ASIO是一个异步IO库,封装了对Socket的常用操纵,简化了基于socket法度的开辟。支撑跨平台。

libevent

libevent是一个C说话写的收集库,官方首要支撑的是类linux 操纵体系,最新的版本添加了对windows的IOCP的支撑。因为IOCP是异步IO,与linux下的POLL模型,EPOLL模型,还有freebsd的KQUEUE等这些同步模型在用法上完全不一致,所以应用办法也不一样,就比如ACE中的Reactor和Proactor模式一样,应用起来须要改变思路。若是对机能没有特此外请求,那么应用libevent中的模型来实现跨平台的操纵, 模型可以横跨windows, linux, unix,solaris等体系。

libev

libev是一个C说话写的,只支撑linux体系的库,我以前研究的时辰只封装了EPOLL模型,不知道如今的新版有没有改进。应用办法类似libevent,然则很是简洁,代码量是起码的一个库,也就几千行代码。显然如许的代码跨平台必然是无法支撑的了,若是你只须要在linux下面运行,那用这个库也是可以的。

Muduohttp://code.google.com/p/muduo/

http://blog.csdn.net/solstice/article/category/779646

http://code.google.com/p/muduo/

POCOhttp://pocoproject.org/

http://blog.csdn.net/zhangxinrun/article/details/5914100

POCO的长处:
1) 比boost更好的线程库,希罕是一个活动的办法的实现,并且还可设置线程的优先级。
2) 比 boost:asio更周全的收集库。然则boost:asio也是一个很是好的收集库。
3) 包含了一些Boost所不包含的功能,像XML,数据库接口等。
4) 跟Boost比拟,集成度更高,是加倍同一的一个库。
5) Poco的c++代码更干净,现代和易懂得。对不是模板编程专家的人来说,POCO的代码比大多半Boost库轻易懂得得多
6) 可以在很多平台上应用
POCO的毛病:
1) 文档有限。但这必然程度上是因为代码的轻易懂得。
2) 跟Boost比拟用户社群小得多。
3) 有几许能集成进C++标准是个题目。而Boost在这方面不是个题目。
很多POCO的用户把POCO和Boost一路并用。
Boost是高质量的库,但它不是个框架。
Boost:asio处理惩罚高并发的效力还可以。单连接吞吐稍微弱点。 若是选用,最好封装好,别让boost代码吞噬你的代码,那样最后不成收拾。呵呵。
asio在windows下效力是最好的。根蒂根基接近本身在iocp上开辟的效力。在linux下,他默认选用epoll, 但中心为了做了层stream cache, 效力稍有丧失。并且他的epoll规矩用的不太公道,可以本身批改他的代码,达到本身的需求。
在freebsd下,他默认是的,要本身批改他的代码前提编译,才可以支撑kqueue

http://www.cppblog.com/richbirdandy/archive/2010/09/10/123994.html

斗劲

http://stackoverflow.com/questions/992069/ace-vs-boost-vs-poco

http://stackoverflow.com/questions/474840/boost-vs-ace-c-cross-platform-performance-comparison

Boost.Asio和ACE之间关于Socket编程的斗劲

http://blog.csdn.net/summerhust/article/details/6595321

信息互换和谈

基于 Google protobuf 的 webgame 收集和谈设计

http://www.slideshare.net/laiyonghao/google-protobuf-webgame

http://zzk.cnblogs.com/s?w=blog%3ASolstice%20protobuf%20

软件体系开辟中的数据互换和谈

http://www.infoq.com/cn/news/2011/05/sl-data-exchange-protocol

参考材料

http://webservices.ctocio.com.cn/354/12203854.shtml

http://blog.csdn.net/yuyin86/article/details/6562611

办事器设计和开辟的领会

http://www.kuqin.com/system-analysis/20080614/9506.html

http://www.cplusplus.com/

http://www.oschina.net/project/tag/145/networklib?lang=0&os=0&sort=view

Admin

原创粉丝点击