本書是一部介紹在Linux下使用C++開發(fā)網絡通信服務器程序的書。本書共8章36節(jié),介紹了一個完整的項目,其中包括通信框架和業(yè)務邏輯框架,有以下幾個特點: ①項目本身是一個完整的多線程高并發(fā)的服務器程序; ②支持TCP長連接,按照“包頭+包體格式”正確接收客戶端發(fā)送過來的數據包,完美解決收包時的數據粘包問題; ③可根據收到的不同數據包選擇不同的業(yè)務處理邏輯; ④可將業(yè)務處理產生的結果數據包正確返回給客戶端。 項目中用到的主要開發(fā)技術和特色包括: ①epoll高并發(fā)通信技術,用到的觸發(fā)模式是epoll中的水平觸發(fā)模式(LT); ②通過線程池技術處理業(yè)務邏輯; ③線程之間的同步技術包括互斥量和信號量; ④連接池中連接的延遲回收技術,可極大程度地消除諸多導致服務器程序工作不穩(wěn)定的因素; ⑤專門處理數據發(fā)送的一整套數據發(fā)送邏輯以及對應的發(fā)送線程; ⑥信號處理、配置文件讀取、日志的打印輸出、調用fork創(chuàng)建子進程、創(chuàng)建守護進程等技術。 本書適合作為已經掌握C/C++語言,希望進一步深入學習的開發(fā)人員的自學參考用書。