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