0916~0919_開學季語言展

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

  • 9 792
    880

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

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


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

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

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

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

 

作者

朱文偉

名校計算機專業統招碩士,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網路程式設計技術,並且擁有相關專案經驗。

 

目錄

第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  客戶端詳細設計和實現

序/導讀

前言

目前圖書市場上,工作3~4年的Linux開發工程師能參考的實用型網路程式設計書不多,不少Linux網路程式設計書還從編輯器、編譯器如何使用講起,那些內容都是給學生或剛剛工作的人員看的,適用於未接觸過Linux開發的人。Linux網路程式設計最重要的基礎有兩點,一是Linux多執行緒程式設計功力,二是對網路通訊協定的理解。筆者以前撰寫的書籍對Linux基礎程式設計進行了較為詳細的說明,也獲得了不錯的市場回饋。很多讀者都問筆者:下一步想深入地學習Linux程式設計,應該看哪些書?我想,Linux程式設計的兩大就業領域中,一個是嵌入式開發,另一個是網路伺服器程式設計。前者目前書籍較多。而後者,尤其是有深度、符合應徵市場要求的從基礎到案例的網路程式設計書非常少!當前網路系統越來越複雜,應用範圍越來越大,迫切需要新的技術來應對新應用的挑戰。這一點可以從廣大應徵啟事上看得出來。網路程式設計難,難就難在伺服器程式設計。

一本專門說明Linux伺服器程式設計的書,不但能幫助一般工程師提高網路程式設計能力,而且還可以為市場輸送更符合需求的工程師。筆者常年從事最前線Linux伺服器程式設計,了解流行的Linux網路程式設計技術,並且擁有相關專案經驗。

關於本書

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

本書從五大伺服器程式設計基礎技術開始逐步深入到四大專案案例進行開發實踐,融合基礎知識和一些資料庫、跨平台介面程式設計知識,使得我們的案例系統完整且包含用戶端,甚至稍微修改就可以上升為商用軟體,比如最後一章的併發遊戲伺服器。通常在網路程式設計書中,一般只會講解一個綜合案例,而本書提供了HTTP伺服器、FTP伺服器、併發聊天伺服器與C/S和P2P聯合架構的併發遊戲伺服器四大專案案例,可以作為課程設計和學生畢業設計的素材。

本書適用的讀者

本書由於技術全面、講解循序漸進、學習曲線坡度小、註釋詳盡,因此本書適用的讀者面很廣,可作為學校和培訓班教材使用,也可作為工程師自學教材。另外,本書需要讀者有C和C++的基礎,最好是C++11,因為本書的執行緒池用到的語言是基於C++11的。

本書作者與鳴謝

本書筆者為朱文偉和李建英。本書的順利出版,離不開清華大學出版社老師們的幫助,在此表示衷心的感謝。雖然筆者盡了最大努力撰寫本書,但書中依然可能存在疏漏之處,敬請讀者提出寶貴的意見和建議。


作者

 

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9786267273203
    • 分級
    • 普通級
    • 頁數
    • 632
    • 商品規格
    • 23*17*3
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 網友掛保證,絕不踩雷書單如下 ↓↓↓
預計 2025/09/29 出貨 購買後進貨 
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing