这是一部介绍在Linux下使用C++开发网络通信服务器程序的书。本书共8章36节,介绍了一个完整的项目,其中包括通信框架和业务逻辑框架,有以下几个特点:①项目本身是一个完整的多线程高并发的服务器程序;②支持TCP长连接,按照“包头+包体”格式正确接收客户端发送过来的数据包,完美解决收包时的数据粘包问题;③可根据收到的不同数据包选择不同的业务处理逻辑;④可将业务处理产生的结果数据包正确返回给客户端。
项目中用到的主要开发技术和特色包括:①epoll高并发通信技术,用到的触发模式是epoll中的水平触发模式(LT);②通过线程池技术处理业务逻辑;③线程之间的同步技术包括互斥量和信号量;④连接池中连接的延迟回收技术,可极大程度地消除诸多导致服务器程序工作不稳定的因素;⑤专门处理数据发送的一整套数据发送逻辑以及对应的发送线程;⑥信号处理、配置文件读取、日志的打印输出、调用fork创建子进程、创建守护进程等技术。