基本介紹
- 書名:TCP/IP網路編程技術基礎
- 作者:王雷
- ISBN:9787512109032
- 頁數:183
- 定價:23.00元
- 出版社:北京交通大學出版社
- 出版時間:2012-3
編輯推薦
內容簡介
目錄
1.1tcp/ip協定概述
1.1.1tcp/ip參考模型
1.1.2tcp/ip參考模型的通信原理
1.1.3linux系統實現網路通信的基本原理
1.2tcp/ip網路通信中的客戶—伺服器模型
1.2.1客戶—伺服器模型
1.2.2客戶—伺服器模型中的匯聚點問題及其解決方法
1.2.3客戶—伺服器模型中伺服器設計與實現的複雜性
1.2.4伺服器中的並發問題
1.2.5伺服器並發性的實現方法
1.2.6伺服器的分類
1.3tcp/ip網路通信中的客戶軟體的設計流程
1.3.1tcp客戶算法
1.3.2udp客戶算法
1.3.3客戶算法中伺服器套接字端點地址的查找問題
1.3.4客戶算法中本地端點地址的選擇問題
1.4tcp/ip網路通信中的伺服器軟體的設計流程
1.4.1主動套接字與被動套接字
1.4.2 tcp伺服器算法
1.4.3udp伺服器算法
1.4.4伺服器算法中熟知連線埠的綁定問題
1.5本章 小結
本章 習題
第2章 套接字api
2.1套接字api概述
2.2套接字an中的主要系統函式
2.2.1socket()函式
2.2.2connect()函式
2.2.3bind()函式
2.2.4listen()函式
2.2.5accept()函式
2.2.6send()函式
2.2.8sendto()函式
2.2.9recvfrom()函式
2.2.10close()函式
2.2.11shutdown()函式
2.2.12getpeername()函式
2.2.13setsockopt()函式
2.2.14getsockopt()函式
2.3基於套接字api的c/s網路通信模型
2.3.1基於udp的c/s網路通信模型
2.3.2基於tcp的c/s網路通信模型
2.4本章 小結
本章 習題
第3章 循環伺服器例程剖析
3.1循環伺服器進程結構
3.1.1循環的udp伺服器進程結構
3.1.2循環的tcp伺服器進程結構
3.2循環伺服器軟體設計流程
3.2.1循環的udp伺服器軟體設計流程
3.2.2循環的tcp伺服器軟體設計流程
3.3循環的五連線的nme伺服器例程
3.3.1相關係統函式及其調用方法簡介
3.3.2伺服器例程剖析
3.4訪問nme服務的吳連線的客戶端例程
3.5循環的面向連線的daynme伺服器例程
3.6訪問daynme服務的面向連線的客戶端例程
3.7本章 小結
本章 習題
第4章 伺服器中的並發機制
4.1伺服器中的並發概念
4.1.1循環伺服器與並發伺服器
4.1.2基於多進程或多執行緒的伺服器並發概念
4.1.3並發等級
4.2基於多進程的伺服器並發機制
4.2.1創建一個新進程
4.2.2終止一個進程
4.2.3獲得一個進程的進程標識
4.2.4獲得一個進程的父進程的進程標識
4.2.5殭屍進程的清除
4.3基於多執行緒的伺服器並發機制
4.3.1創建一個新執行緒
4.3.2設定執行緒的運行屬性
4.3.3終止一個執行緒
4.3.4獲得一個執行緒的執行緒標識
4.3.5多執行緒例程剖析
4.4從執行緒/進程分配技術
4.4.1從執行緒/進程預分配技術
4.4.2延遲的從執行緒/進程分配技術
4.4.3兩種從執行緒/進程分配技術的結合
4.5基於多進程與基於多執行緒的並發機制的性能比較
4.5.1多進程與多執行緒的任務執行效率比較
4.5.2多進程與多執行緒的創建與銷毀效率比較
4.6本章 小結
本章 習題
第5章 基於多進程並發的面向連線伺服器例程剖析
5.1基於多進程並發的面向連線伺服器的進程結構
5.2基於多進程並發的面向連線伺服器軟體的設計流程
5.2.1不固定進程數的並發模型設計流程
5.2.2固定進程數的並發模型設計流程
5.3基於多進程並發的面向連線伺服器例程
5.3.1例程一
5.3.2例程二
5.4本章 小結
本章 習題
第6章 基於多執行緒並發的面向連線伺服器例程剖析
6.1執行緒之間的協調與同步
6.1.1互斥鎖
6.1.2信號量
6.1.3條件變數
6.2基於多執行緒並發的面向連線伺服器軟體的設計流程
6.3基於多執行緒並發的面向連線伺服器例程
6.4本章 小結
本章 習題
第7章 基於單執行緒並發的面向連線伺服器例程剖析
7.1單執行緒並發伺服器的執行緒結構
7.2單執行緒並發伺服器程式設計流程
7.3基於單執行緒並發的面向連線伺服器例程
7.4本章 小結
本章 習題
第8章 基於執行緒池並發的面向連線伺服器例程剖析
8.1執行緒池簡介
8.1.1執行緒池定義
8.1.2執行緒池的基本工作原理
8.1.3執行緒池的套用範圍
8.1.4使用執行緒池的風險
8.2一個linux下執行緒池的c語言實現
8.3基於執行緒池並發的面向連線伺服器例程
8.4本章 小結
本章 習題
第9章 基於epoll的並發的面向連線伺服器例程剖析
9.1於epoll簡介
9.2於epoll的工作原理與調用方法
9.2.1於epoll的基本接口函式
9.2.2於epoll的事件模式
9.2.3於epoll的工作原理
9.3基於於epoll執行緒池的c語言例程
9.4基於epoll的並發的面向連線伺服器例程
9.5本章 小結
本章 習題
第10章 客戶進程中的並發機制
10.1實現並發客戶的意義與進程結構
10.1.1實現並發客戶的意義
10.1.2基於多執行緒/多進程的並發客戶的進程結構
10.1.3基於單執行緒的並發客戶的進程結構
10.2基於多執行緒的並發客戶例程
10.3基於單執行緒的並發客戶例程
10.4基於多進程的並發客戶例程
10.5本章 小結
本章 習題
第11章 客戶—伺服器系統中的死鎖問題
11.1死鎖的定義
11.2產生死鎖的原因
11.2.1競爭資源引起進程死鎖
11.2.2進程推進順序不當引起死鎖
11.3產生死鎖的必要條件
11.4處理死鎖的基本方法
11.6本章 小結
本章 習題
第12章 gcc編譯器簡介
12.1gcc編譯器所支持的源程式格式
12.2gcc編譯選項解析
12.2.1ccc編譯選項分類
12.2.2ccc編譯過程解析
12.2.3多個程式檔案的編譯
12.3gcc編譯器的安裝
12.4本章 小結
本章 習題
參考文獻