介绍
HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。
来自百度百科介绍。
对于这个库,只是偶然间用到他的HTTP功能。虽然事情已经过去,但还是觉得这个库有极大的学习和研究价值。可以学习巩固网络的一些基础原理,框架,及语言的实现,并且有中文资料和类图等,内容丰富。
编译
下载Hp-socket库:
git clone https://github.com/ldcsaa/HP-Socket.git
这个库有多个系统的版本,我们这里选用linux分析就好了。所以进入到Linux下,看readme大概知道编译流程。
./compile.sh
sudo ./install.sh
大概就是分两个脚本,一个编译脚本和一个安装脚本。-h参数可以分别看到他们的使用说明。
compile.sh脚本
$ ./compile.sh -h
Usage: compile.sh [...O.P.T.I.O.N.S...]
----------------------+-------------------------------------------------
-d|--with-debug-lib : compile debug libs (default: true)
-j|--use-jemalloc : use jemalloc in release libs
: (x86/x64 default: true, ARM default: false)
-u|--udp-enabled : enable UDP components (default: true)
-t|--http-enabled : enable HTTP components (default: true)
-s|--ssl-enabled