网络编程框架 HPServer

码农软件 · 软件分类 · 网络工具包 · 2019-02-27 16:43:47

软件介绍

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

虽然主页上介绍"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就可以看出来。

本文地址:https://codercto.com/soft/d/259.html

Qt 5.9 C++开发指南

Qt 5.9 C++开发指南

王维波、栗宝鹃、侯春望 / 人民邮电出版社 / 2018-5-1 / 89.00元

本书以Qt 5.9 LTS版本为开发平台,详细介绍了Qt C++开发应用程序的技术,包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等,介绍了常用界面组件、文件读写、绘图、图表、数据可视化、数据库、多线程、网络和多媒体等模块的使用。每个编程主题都精心设计了完整的实例程序。 通过阅读......一起来看看 《Qt 5.9 C++开发指南》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码