網路編程實用教程(第3版)

《網路編程實用教程(第3版)》是2016年人民郵電出版社出版的圖書,作者是段利國。

基本信息

【作者】段利國【編輯】鄒文波
【ISBN】978-7-115-42341-2【日期】2016-06
【版次】3【印次】1
【頁數】307頁【字數】519千字
【開本】16【定價】52元

圖書簡介

本書主要介紹基於TCP/IP協定棧的套接字網路編程技術。全書分為10章,第1章介紹網路編程的基本概念及模式,第2章介紹套接字網路編程基礎,第3章介紹Windows環境的WinSock編程基礎,第4章介紹MFC編程,第5章介紹MFC WinSock類的編程,第6章介紹WinInet編程,第7章介紹WinSock的多執行緒編程,第8章介紹WinSock的I/O模型,第9章介紹HTTP及高級編程,第10章介紹電子郵件協定與編程。各章後都配有習題,便於讀者理解掌握所學內容。

目錄

第1章 概述 1

1.1 網路編程相關的基本概念 1

1.1.1 網路編程與進程通信 1

1.1.2 Internet中網間進程的標識 3

1.1.3 網路協定的特徵 7

1.2 三類網路編程 10

1.2.1 基於TCP/IP協定棧的網路編程 10

1.2.2 基於WWW套用的網路編程 10

1.2.3 基於.NET框架的Web Services網路編程 10

1.3 客戶機/伺服器互動模式 13

1.3.1 網路套用軟體的地位和功能 13

1.3.2 客戶機/伺服器模式 14

1.3.3 客戶機與伺服器的特性 15

1.3.4 容易混淆的術語 16

1.3.5 客戶機與伺服器的通信過程 16

1.3.6 網路協定與C/S模式的關係 17

1.3.7 錯綜複雜的C/S互動 17

1.3.8 伺服器如何同時為多個客戶機服務 18

1.3.9 標識一個特定服務 20

1.4 P2P模式 21

1.4.1 P2P技術的興起 21

1.4.2 P2P的定義和特徵 21

1.4.3 P2P的發展 22

1.4.4 P2P的關鍵技術 22

1.4.5 P2P系統的套用與前景 22

習題 23

第2章 套接字網路編程基礎 24

2.1 套接字網路編程接口的產生與發展 24

2.1.1 問題的提出 24

2.1.2 套接字編程接口起源於UNIX作業系統 25

2.1.3 套接字編程接口在Windows和Linux作業系統中得到繼承和發展 25

2.1.4 套接字編程接口的兩種實現方式 25

2.1.5 套接字通信與UNIX作業系統的輸入/輸出的關係 26

2.2 套接字編程的基本概念 27

2.2.1 什麼是套接字 27

2.2.2 套接字的特點 28

2.2.3 套接字的套用場合 30

2.2.4 套接字使用的數據類型和相關的問題 30

2.3 面向連線的套接字編程 32

2.3.1 可靠的傳輸控制協定 32

2.3.2 套接字的工作過程 33

2.3.3 面向連線的套接字編程實例 34

2.3.4 進程的阻塞問題和對策 40

2.4 無連線的套接字編程 43

2.4.1 高效的用戶數據報協定 43

2.4.2 無連線的套接字編程的兩種模式 43

2.4.3 數據報套接字的對等模式編程實例 45

2.5 原始套接字 47

2.5.1 原始套接字的創建 47

2.5.2 原始套接字的使用 48

2.5.3 原始套接字套用實例 49

習題 51

第3章 WinSock編程 53

3.1 WinSock概述 53

3.2 WinSock庫函式 55

3.2.1 WinSock的註冊與註銷 55

3.2.2 WinSock的錯誤處理函式 58

3.2.3 主要的WinSock函式 61

3.2.4 WinSock的輔助函式 74

3.2.5 WinSock的信息查詢函式 77

3.2.6 WSAAsyncGetXByY類型的擴展函式 79

3.3 網路應用程式的運行環境 82

習題 84

第4章 MFC編程 85

4.1 MFC概述 85

4.1.1 MFC是一個編程框架 85

4.1.2 典型的MDI應用程式的構成 87

4.2 MFC和Win32 89

4.2.1 MFC對象和Windows對象的關係 89

4.2.2 幾個主要的類 91

4.3 CObject類 95

4.3.1 CObject類的定義 95

4.3.2 CObject類的特性 96

4.4 訊息映射的實現 98

4.5 MFC對象的創建 102

4.5.1 MFC對象的關係 102

4.5.2 MFC提供的接口 104

4.5.3 MFC對象的創建過程 104

4.6 應用程式的退出 107

習題 107

第5章 MFC WinSock類的

編程 109

5.1 CAsyncSocket類 110

5.1.1 使用CAsyncSocket類的一般步驟 110

5.1.2 創建CAsyncSocket類對象 111

5.1.3 關於CAsyncSocket類可以接受並處理的訊息事件 112

5.1.4 客戶端套接字對象請求連線到伺服器端套接字對象 114

5.1.5 伺服器接收客戶機的連線請求 115

5.1.6 傳送與接收流式數據 116

5.1.7 關閉套接字 118

5.1.8 錯誤處理 118

5.1.9 其他成員函式 119

5.2 CSocket類 120

5.2.1 創建CSocket對象 120

5.2.2 建立連線 120

5.2.3 傳送和接收數據 120

5.2.4 CSocket類、CArchive類和CSocketFile類 121

5.2.5 關閉套接字和清除相關的對象 122

5.3 CSocket類的編程模型 122

5.4 用CAsyncSocket類實現聊天室程式 123

5.4.1 實現目標 123

5.4.2 創建客戶端應用程式 124

5.4.3 客戶端程式的類與訊息驅動 134

5.4.4 客戶端程式主要功能的代碼和分析 135

5.4.5 創建伺服器端程式 142

5.4.6 伺服器端程式的流程和訊息驅動 144

5.4.7 點對點交談的伺服器端程式主要功能的代碼和分析 145

5.5 用CSocket類實現聊天室程式 151

5.5.1 聊天室程式的功能 151

5.5.2 創建聊天室的伺服器端程式 151

5.5.3 聊天室伺服器端程式的主要實現代碼和分析 154

5.5.4 創建聊天室的客戶端程式 162

5.5.5 聊天室客戶端程式的主要實現代碼和分析 163

習題 170

實驗 170

第6章 WinInet編程 172

6.1 MFC WinInet類 172

6.1.1 概述 172

6.1.2 MFC WinInet所包含的類 173

6.1.3 使用WinInet類編程的一般步驟 174

6.1.4 創建CInternetSession類對象 175

6.1.5 查詢或設定Internet請求選項 176

6.1.6 創建連線類對象 177

6.1.7 使用檔案檢索類 178

6.1.8 重載OnStatusCallback函式 179

6.1.9 創建並使用網路檔案類對象 180

6.1.10 CInternteException類 183

6.2 用MFC WinInet類實現FTP客戶端 183

6.2.1 程式要實現的功能 183

6.2.2 創建應用程式的過程 184

習題 186

實驗 187

第7章 WinSock的多執行緒

編程 188

7.1 WinSock為什麼需要多執行緒編程 188

7.1.1 WinSock的兩種I/O模式 188

7.1.2 兩種模式的優缺點及解決方法 189

7.2 Win32作業系統下的多進程多執行緒機制 189

7.2.1 Win32 OS是單用戶多任務的作業系統 189

7.2.2 Win32 OS是支持多執行緒的作業系統 190

7.2.3 多執行緒機制在網路編程中的套用 191

7.3 VC++對多執行緒網路編程的支持 192

7.3.1 MFC支持的兩種執行緒 192

7.3.2 創建MFC的工作執行緒 193

7.3.3 創建並啟動用戶界面執行緒 195

7.3.4 終止執行緒 198

7.4 多執行緒FTP客戶端實例 200

7.4.1 編寫執行緒函式 200

7.4.2 添加事件處理函式 206

習題 208

第8章 WinSock的I/O模型 209

8.1 select模型 210

8.2 WSAAsyncSelect異步I/O模型 212

8.3 WSAEventSelect事件選擇模型 216

8.4 重疊I/O模型 221

8.4.1 重疊I/O模型的優點 221

8.4.2 重疊I/O模型的基本原理 221

8.4.3 重疊I/O模型的關鍵函式和數據結構 222

8.4.4 使用事件通知實現重疊模型的步驟 225

8.4.5 使用完成例程實現重疊模型的步驟 227

8.5 完成連線埠模型 229

8.5.1 什麼是完成連線埠模型 229

8.5.2 使用完成連線埠模型的方法 230

習題 238

第9章 HTTP及高級編程 239

9.1 HTTP 239

9.1.1 HTTP的背景 239

9.1.2 HTTP的內容 240

9.1.3 HTTP訊息的一般格式 242

9.1.4 HTTP請求的格式 243

9.1.5 HTTP回響的格式 245

9.1.6 訪問認證 248

9.1.7 URL編碼 249

9.1.8 HTTP的套用 250

9.2 利用CHtmlView類創建Web瀏覽器型的應用程式 250

9.2.1 CHtmlView類與WebBrowser控制項 250

9.2.2 CHtmlView類的成員函式 251

9.2.3 創建一個Web瀏覽器型的應用程式的一般步驟 256

9.3 Web瀏覽器應用程式實例 261

9.3.1 程式實現的目標 261

9.3.2 創建實例程式 262

習題 265

實驗 265

第10章 電子郵件協定與編程 267

10.1 電子郵件系統的工作原理 267

10.1.1 電子郵件的特點 267

10.1.2 電子郵件系統的構成 267

10.1.3 電子郵件系統的實現 268

10.2 簡單郵件傳送協定 270

10.2.1 概述 270

10.2.2 SMTP客戶機與SMTP伺服器之間的會話 270

10.2.3 常用的SMTP命令 271

10.2.4 常用的SMTP回響碼 273

10.2.5 SMTP的會話過程 274

10.2.6 使用WinSock來實現電子郵件客戶機與伺服器的會話 274

10.3 電子郵件信件結構詳述 275

10.3.1 Internet文本信件的格式標準——RFC 822 275

10.3.2 信件的頭部 276

10.3.3 構造和分析符合RFC 822標準的電子信件 281

10.4 MIME編碼解碼與傳送附屬檔案 281

10.4.1 MIME概述 281

10.4.2 MIME定義的新的信頭欄位 282

10.4.3 MIME郵件的內容類型 283

10.4.4 MIME郵件的編碼方式 292

10.5 POP3與接收電子郵件 294

10.5.1 POP3 294

10.5.2 POP3的會話過程 294

10.5.3 POP3會話的3個狀態 295

10.5.4 POP3標準命令 296

10.5.5 接收電子郵件的一般步驟 298

10.6 接收電子郵件的程式實例 299

10.6.1 實例程式的目的和實現的技術要點 299

10.6.2 創建應用程式的過程 301

10.7 傳送電子郵件的程式實例 302

10.7.1 實例程式的目的和實現的技術要點 302

10.7.2 創建應用程式的過程 303

習題 305

參考文獻 307

相關詞條

熱門詞條

聯絡我們