定 價:45 元
叢書名:普通高等學校計算機教育“十二五”規(guī)劃教材
- 作者:馬駿
- 出版時間:2014/9/1
- ISBN:9787115362599
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312C
- 頁碼:308
- 紙張:膠版紙
- 版次:3
- 開本:16K
本書主要介紹如何用C#和WPF開發(fā)C/S應用程序和面向服務的WCF應用程序。全書共12章,前6章介紹網(wǎng)絡編程預備知識,包括IP地址轉(zhuǎn)換、DNS、套接字、數(shù)字墨跡、進程、線程、應用程序域、數(shù)據(jù)流、數(shù)據(jù)編碼和解碼、數(shù)據(jù)加密和解密、異步編程、并行編程等;后6章介紹WCF和HTTP、TCP、UDP、MSMQ編程技術。同時在附錄中給出了本書的上機練習和綜合設計要求。
本書提供配套的PPT課件以及在VS2012下調(diào)試通過的所有參考源程序和全部習題參考解答。
本書可作為高等院校計算機及相關專業(yè)的教材,也可作為初、中級程序員的參考用書。
1.案例豐富,實用性強,全書內(nèi)容是作者多年教學和科研的結(jié)晶。
2.教材配套資料全,適合教學需要。
3.與同類書籍相比,對基本概念的講解透徹,條理清晰,步驟詳細,非常適合自學。
第1篇 預備知識
第1章 網(wǎng)絡應用編程入門知識 2
1.1 安裝VS2012開發(fā)環(huán)境 2
1.2 網(wǎng)絡應用編程模型 2
1.2.1 互聯(lián)網(wǎng)與企業(yè)內(nèi)部網(wǎng) 2
1.2.2 分散式、集中式和分布式 3
1.2.3 C/S模式 4
1.2.4 B/S模式 6
1.2.5 網(wǎng)絡應用程序編程模型 6
1.3 TCP/IP網(wǎng)絡協(xié)議 7
1.3.1 TCP/IP基本概念 8
1.3.2 傳統(tǒng)的網(wǎng)絡編程技術簡介 8
1.4 IP地址轉(zhuǎn)換與域名解析 9
1.4.1 IP地址與端口 10
1.4.2 IP地址轉(zhuǎn)換相關類 11
1.4.3 域名解析 13
1.5 網(wǎng)卡信息檢測與網(wǎng)絡流量檢測 17
1.5.1 網(wǎng)卡信息檢測相關類 17
1.5.2 網(wǎng)絡流量檢測相關類 20
習題 21
第2章 數(shù)字墨跡與動態(tài)繪圖基礎 22
2.1 Ribbon控件及其基本用法 22
2.1.1 設計選項卡 22
2.1.2 在多個選項卡中重用選項 23
2.2 WPF中的數(shù)字墨跡 24
2.2.1 墨跡畫板(InkCanvas) 24
2.2.2 觸筆和手勢 26
2.2.3 觸筆事件 27
2.2.4 墨跡筆畫(Stroke)和墨跡數(shù)據(jù)(StrokeCollection) 27
2.3 自定義墨跡畫板 29
2.3.1 靜態(tài)呈現(xiàn)和動態(tài)呈現(xiàn) 29
2.3.2 制作自定義墨跡控件 29
2.4 利用自定義墨跡畫板實現(xiàn)動態(tài)繪圖 30
2.4.1 繪制球形 30
2.4.2 繪制球形序列 31
2.4.3 繪制矩形和矩形序列 32
2.4.4 繪制圖像和圖像序列 33
2.4.5 繪制漸變直線 34
2.4.6 繪制漸變曲線和文字 34
2.4.7 選擇、編輯、縮放與橡皮擦 35
2.4.8 保存和打開墨跡文件 36
2.5 功能擴展建議 37
習題 37
第3章 進程、線程與應用程序域 38
3.1 進程和線程 38
3.1.1 基本概念 38
3.1.2 進程管理(Process類) 39
3.1.3 線程管理(Thread類) 44
3.1.4 線程池(ThreadPool類) 46
3.1.5 多線程編程中的資源同步 47
3.1.6 WPF中的多線程編程模型 48
3.2 應用程序域及其基本操作 51
3.2.1 基本概念 51
3.2.2 程序集與反射 52
3.2.3 創(chuàng)建和卸載應用程序域(AppDomain類) 54
習題 57
第4章 數(shù)據(jù)流與數(shù)據(jù)的加密和解密 58
4.1 數(shù)據(jù)編碼和解碼 58
4.1.1 常見的字符集編碼方式 58
4.1.2 利用Encoding類實現(xiàn)編碼和解碼 59
4.2 數(shù)據(jù)流 61
4.2.1 文件流(FileStream) 61
4.2.2 內(nèi)存流(MemoryStream) 64
4.2.3 網(wǎng)絡流(NetworkStream) 64
4.2.4 加密流(CryptoStream) 66
4.2.5 StreamReader和StreamWriter類 67
4.2.6 BinaryReader和BinaryWriter類 67
4.3 數(shù)據(jù)加密與數(shù)字簽名 67
4.3.1 對稱加密 68
4.3.2 不對稱加密 73
4.3.3 密鑰容器 74
4.3.4 數(shù)字簽名 75
習題 76
第5章 異步編程 77
5.1 并行和異步編程預備知識 77
5.1.1 任務(Task類、Task類) 77
5.1.2 Lambda表達式 78
5.1.3 Action和Func委托 80
5.1.4 元組(Tuple類) 82
5.2 異步編程基本技術 83
5.2.1 異步編程的實現(xiàn)方式和異步操作關鍵字 83
5.2.2 創(chuàng)建任務 86
5.2.3 取消或終止任務的執(zhí)行 93
5.2.4 獲取任務執(zhí)行的狀態(tài) 96
5.2.5 報告任務執(zhí)行的進度 98
5.2.6 定時執(zhí)行某些任務 100
習題 102
第6章 并行編程 103
6.1 基本概念 103
6.1.1 并行編程的實現(xiàn)方式 103
6.1.2 任務并行庫(TPL)及其分類 104
6.1.3 并行編程中的分區(qū)(Partitioner) 105
6.2 Parallel類及其幫助器類 106
6.2.1 Parallel類 106
6.2.2 Parallel幫助器類 109
6.2.3 用于線程全局變量的數(shù)據(jù)結(jié)構(gòu) 110
6.3 數(shù)據(jù)并行 111
6.3.1 利用Parallel.For方法實現(xiàn)數(shù)據(jù)并行 111
6.3.2 利用Parallel.ForEach方法實現(xiàn)數(shù)據(jù)并行 117
6.4 任務并行 120
6.4.1 Parallel.Invoke方法 120
6.4.2 任務調(diào)度 123
6.4.3 任務等待與組合 126
習題 128
第2篇 面向服務的WCF編程
第7章 WCF入門 130
7.1 預備知識 130
7.1.1 XML 130
7.1.2 Web Service 131
7.1.3 遠程處理(RPC) 133
7.1.4 消息隊列(MSMQ) 134
7.1.5 面向服務的體系結(jié)構(gòu)(SOA) 134
7.2 WCF入門 135
7.2.1 WCF基礎知識 135
7.2.2 WCF體系結(jié)構(gòu) 138
7.2.3 承載WCF的方式 139
7.3 WCF服務端和客戶端編程基礎 141
7.3.1 WCF服務端編程模型 141
7.3.2 WCF客戶端編程模型 143
7.3.3 編寫服務端和客戶端程序的基本思路 144
7.4 設計和實現(xiàn)協(xié)定 150
7.4.1 協(xié)定和特性 150
7.4.2 服務協(xié)定 151
7.4.3 數(shù)據(jù)協(xié)定 152
7.4.4 消息協(xié)定 156
7.5 服務綁定與終結(jié)點配置 159
7.5.1 在服務端配置文件中配置WCF服務 159
7.5.2 終結(jié)點綁定方式 161
7.5.3 需要綁定的元素及其含義 162
習題 164
第8章 WCF和HTTP應用編程 165
8.1 HTTP簡介 165
8.1.1 HTTP的特點 165
8.1.2 HTTP的請求與響應 166
8.1.3 HTTP應用編程的技術選擇 168
8.2 WCF中與HTTP相關的綁定 168
8.2.1 基本HTTP綁定(BasicHttpBinding類) 168
8.2.2 其他常用的HTTP綁定 170
8.3 WCF客戶端和服務端的消息交換模式 171
8.3.1 請求應答模式(Action/Reply) 172
8.3.2 單向模式(IsOneWay) 175
8.3.3 雙工通信 176
8.3.4 同步操作和異步操作 180
8.4 WCF和HTTP編程示例 180
8.4.1 五子棋游戲規(guī)則描述 181
8.4.2 服務端和客戶端通信接口 181
8.4.3 服務端編程 184
8.4.4 客戶端編程 191
習題 202
第9章 WCF和TCP應用編程 203
9.1 TCP應用編程概述 203
9.1.1 TCP的特點 203
9.1.2 TCP應用編程的技術選擇 204
9.2 利用傳統(tǒng)技術實現(xiàn)TCP應用編程 205
9.2.1 TcpClient類和TcpListener類 205
9.2.2 基本用法示例 208
9.3 利用WCF實現(xiàn)TCP應用編程 217
9.3.1 WCF與TCP相關的綁定 218
9.3.2 利用WCF和TCP編寫網(wǎng)絡游戲 218
習題 235
第10章 WCF和UDP應用編程 236
10.1 UDP應用編程概述 236
10.1.1 UDP基本知識 236
10.1.2 UDP應用編程的技術選擇 238
10.2 利用任務模型實現(xiàn)UDP應用編程 238
10.2.1 利用UdpClient類發(fā)送和接收數(shù)據(jù) 238
10.2.2 利用UdpClient實現(xiàn)群發(fā)功能 243
10.2.3 利用UdpClient實現(xiàn)網(wǎng)絡會議討論 246
10.3 利用WCF實現(xiàn)UDP應用編程 251
10.3.1 定義和實現(xiàn)協(xié)定 251
10.3.2 承載和配置WCF服務 252
10.3.3 添加服務引用 253
10.3.4 添加客戶端窗口和調(diào)用代碼 253
習題 257
第11章 WCF和MSMQ應用編程 258
11.1 MSMQ基礎知識 258
11.1.1 隊列和事務 258
11.1.2 WCF與MSMQ相關的綁定 260
11.2 WCF和MSMQ基本用法示例 263
11.2.1 可靠排隊通信和快速排隊通信 263
11.2.2 雙向通信 271
11.3 WCF和MSMQ的高級處理功能 275
11.3.1 使用死信隊列處理消息傳輸故障 275
11.3.2 使用病毒消息隊列處理反復出現(xiàn)的故障 283
11.3.3 其他高級處理功能 285
習題 286
第12章 綜合實例——商場銷售服務系統(tǒng) 287
12.1 系統(tǒng)要求與架構(gòu)設計 287
12.1.1 系統(tǒng)要求 287
12.1.2 系統(tǒng)總體架構(gòu)設計 288
12.1.3 服務端功能 289
12.1.4 客戶端功能 289
12.1.5 數(shù)據(jù)庫結(jié)構(gòu)設計 290
12.2 功能實現(xiàn)及擴展建議 291
12.2.1 服務端功能實現(xiàn)示例 291
12.2.2 客戶端功能實現(xiàn)示例 293
12.2.3 組內(nèi)分工合作及系統(tǒng)擴展建議 302
附錄A 上機練習 303
A.1 視頻動態(tài)繪制練習 303
A.2 多任務網(wǎng)段掃描練習 304
A.3 矩陣并行計算練習 304
A.4 WCF和HTTP文件傳輸練習 305
A.5 WCF和TCP消息通信練習 305
附錄B 綜合設計 307
B.1 綜合設計分組 307
B.2 基本要求和功能擴展建議 307
B.2.1 系統(tǒng)選題要求 307
B.2.2 系統(tǒng)基本功能要求 308
B.2.3 功能擴展建議 308
B.3 源程序和文檔提交要求 308