网络编程框架 HPServer

BSD
C/C++
Windows
2013-12-21
红薯

开源的网络编程框架。可以当做一个入门级的网络编程框架阅读。

虽然主页上介绍"HPServer is a free, open-source light-weighted framework for concurrent networking software. ",但是实际上hpserver完成事情是相当有限的。 类似于libevent,没有管理线程,内部也没有异步队列的实现。所以基本上可以认为就是一个libevent的简单实现。hpserver的特点有下面这些:

  • object-oriented;

  • high-performance;

  • cross-platform, support windows & linux;

  • event-driven;

  • support I/O events, timer, and signals;  // 支持IO事件,定时器和信号

  • support acceptor-connector pattern internally, which will faciliates your programming;

  • support multithread; // 这里所谓的支持多线程猜想意思应该就是允许我们开辟多个reactor对象在多个线程里面使用

hpserver的类设计个人感觉有点麻烦,而且在信号处理方面类设计并不优雅。hpserver引入很多概念,了解这些概念倒是非常有帮助。hpserver设计的时候将 event handler,event item,handle(fd或者是信号编号)分开了,但是阅读代码就会发现这些东西都是1:1:1进行绑定的。对于IO来说还可以接受,但是对于信号处理就非常悲剧了, 因为对于每一种信号必须产生一个EventHandler实例。不过还好我们关注的信号还是比较有限的,所以开辟的EventHandler还不算太多。这个从samples/signal-handler.cpp就可以看出来。

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

FreeBSD 数据迁移方法

FreeBSD 数据迁移方法 hpserver# dmesg | grep ad2成功的话会显示 ad2: 9765MB [19841/16/63] at ata1-master UDMA33 等信息,否则你要检查是否接错线,或者硬件兼容问题。 新硬盘已经安装成功...

2011/10/24 19:56
35
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部