《網路編程實用教程(第3版)》是2016年人民郵電出版社出版的圖書,作者是段利國。
基本介紹
- 書名:網路編程實用教程(第3版)
- 作者:段利國
- ISBN:978-7-115-42341-2
- 出版社:人民郵電出版社
- 出版時間:2016-06
- 編輯:鄒文波
基本信息,圖書簡介,目錄,
基本信息
【作者】 | 【編輯】 | 鄒文波 | |
【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