首頁 搜尋 我的知識庫
高速伺服器應用開發:Linux上使用C/C++

高速伺服器應用開發:Linux上使用C/C++

作者: 朱文偉
出版社: 深智數位
出版日期: 2023/03/20
ISBN-13: 9786267273203
書店 1






內容描述


本書提供多則跨平台網路程式設計實用案例,馬上提升您的即戰力!

  ★由基礎知識到高級開發技術,詳解Linux網路程式設計
  ★HTTP伺服器程式的開發設計
  ★FTP程式的開發設計
  ★併發聊天伺服器(多人聊天室)開發設計
  ★多人使用CS、P2P聯合遊戲架構伺服器設計開發

  本書涵蓋Linux網路程式設計從基礎到高級開發的基礎知識,重點講解技術性較強的TCP程式設計、UDP程式設計和I/O模型程式設計,同時對每個基礎知識,都從原始概念和基本原理,進行詳細和透徹的分析,並對比較複雜和難度較高的內容,繪製原理圖進行講解。書中的範例程式,大多是從實例總結歸納而來,因此具有很強的實用性。

  本書從五大伺服器程式設計基礎技術開始,逐步深入到四大專案案例進行開發實踐,融合基礎知識和一些資料庫、跨平台介面程式設計知識,使得案例系統完整,且包含用戶端,如最後一章的併發遊戲伺服器,只要稍微修改,就可以升級做為商用軟體使用。

  通常網路程式設計書只會講解一個綜合案例,而本書提供了HTTP伺服器、FTP伺服器、併發聊天伺服器與C/S和P2P聯合架構的併發遊戲伺服器四大專案案例,亦可以作為課程設計和學生畢業設計的素材。


目錄大綱


第1章  TCP/IP基礎    
1.1  TCP/IP協定的分層結構
1.2  應用層
1.3  傳輸層
1.4  網路層
1.5  資料連結層

第2章  架設Linux開發環境
2.1  準備虛擬機器環境
2.2  架設Linux下C/C++開發環境
2.3  架設Windows下Linux C/C++開發環境

第3章  多執行緒基本程式設計
3.1  使用多執行緒的好處
3.2  多執行緒程式設計的基本概念
3.3  利用POSIX多執行緒API函數進行多執行緒開發
3.4  C++11中的執行緒類別
3.5  執行緒同步
3.6  基於POSIX進行執行緒同步
3.7  C++11/14中的執行緒同步
3.8  執行緒池

第4章  TCP伺服器程式設計
4.1  通訊端的基本概念
4.2  網路程式的架構
4.3  IP位址的格式轉換
4.4  通訊端的類型
4.5  通訊端地址
4.6  主機位元組序和網路位元組序
4.7  協定族和地址族
4.8  TCP通訊端程式設計的基本步驟
4.9  TCP通訊端程式設計的相關函數
4.10  簡單的TCP通訊端程式設計
4.11  深入理解TCP程式設計
4.12  I/O控制命令
4.13  通訊端選項

第5章  UDP伺服器程式設計
5.1  UDP通訊端程式設計的基本步驟
5.2  UDP通訊端程式設計的相關函數
5.3  實戰UDP通訊端
5.4  UDP封包遺失及無序問題

第6章  原始通訊端程式設計
6.1  原始通訊端的強大功能
6.2  創立原始通訊端的方式
6.3  原始通訊端的基本程式設計步驟
6.4  AF_INET方式捕捉封包
6.5  PF_PACKET方式捕捉封包

第7章  伺服器模型設計
7.1  I/O模型
7.2  (分時)循環伺服器
7.3  多處理程序併發伺服器
7.4  多執行緒併發伺服器
7.5  I/O多工的伺服器

第8章  網路性能工具Iperf
8.1  Iperf的特點
8.2  Iperf的工作原理
8.3  Iperf的主要功能
8.4  Iperf在Linux下的使用
8.5  Iperf在Windows下的使用

第9章  HTTP伺服器程式設計
9.1  CGI程式的工作方式
9.2  架設Web伺服器Apache
9.3  HTTP的工作原理
9.4  HTTP的特點
9.5  HTTP的消息結構
9.6  用戶端請求消息
9.7  伺服器回應訊息
9.8  HTTP狀態碼
9.9  HTTP狀態分碼類
9.10  實現HTTP伺服器

第10章  基於Libevent的FTP伺服器
10.1  Reactor模式
10.2  使用Libevnet的基本流程
10.3  下載和編譯Libevent
10.4  FTP概述
10.5  開發FTP伺服器
10.6  開發FTP用戶端

第11章  併發聊天伺服器
11.1  系統平台的選擇
11.2  系統需求分析
11.3  系統整體設計
11.4  即時通訊系統的實施原理
11.5  功能模組劃分
11.6  資料庫設計

第12章  C/S和P2P聯合架構的遊戲伺服器    
12.1  網路遊戲伺服器發展現狀
12.2  現有網路遊戲伺服器結構
12.3  P2P網路遊戲技術分析
12.4  網路遊戲的同步機制
12.5  整體設計
12.6  資料庫設計
12.7  伺服器端詳細設計和實現
12.8  客戶端詳細設計和實現


作者介紹


作者簡介

朱文偉

  名校計算機專業統招碩士,20年C\C++、Java開發經驗。主導開發過密碼、圖形、人工智能等產品。精通Linux、Windows系統開發及數據庫開發技術。著有圖書《Linux C/C++服務器開發實踐》《Linux C與C++ 一線開發實踐》《Windows C/C++加密解密實戰》《密碼學原理與Java實現》《Visual C++2017從入門到精通》《OpenCV 4.5計算機視覺開發實戰(基於VC++)》《OpenCV 4.5計算機視覺開發實戰:基於Python》。

  作者常年從事最前線Linux伺服器程式設計,了解流行的Linux網路程式設計技術,並且擁有相關專案經驗。






相關書籍

室內設計製圖講座

必學!Python 資料科學‧機器學習最強套件:NumPy、Pandas、Matplotlib、OpenCV、scikit-learn、tf.Keras

由重構學習C++程式設計

用ESP32輕鬆入門物聯網IoT實作應用 - 使用圖形化motoBlockly程式語言 - 附MOSME行動學習一點通:評量 ‧ 加值