注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)Windows網(wǎng)絡(luò)與通信程序設(shè)計(第3版)

Windows網(wǎng)絡(luò)與通信程序設(shè)計(第3版)

Windows網(wǎng)絡(luò)與通信程序設(shè)計(第3版)

定 價:¥79.00

作 者: 陳香凝 王燁陽 陳婷婷 張錚
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: WINDOWS 操作系統(tǒng)/系統(tǒng)開發(fā) 計算機/網(wǎng)絡(luò)

ISBN: 9787115441713 出版時間: 2017-02-01 包裝: 平裝
開本: 16開 頁數(shù): 463 字?jǐn)?shù):  

內(nèi)容簡介

  本書將編程方法、網(wǎng)絡(luò)協(xié)議和應(yīng)用實例有機結(jié)合起來,詳細(xì)闡明了Windows下網(wǎng)絡(luò)編程的相關(guān)知識,為致力于網(wǎng)絡(luò)程序設(shè)計的讀者提供一本注重實際應(yīng)用的入門到深入的教程。本書首先介紹了Windows平臺上進(jìn)行網(wǎng)絡(luò)編程的基礎(chǔ)知識,包括網(wǎng)絡(luò)硬件、術(shù)語、協(xié)議、Winsock編程接口和各種I/O方法等;然后通過具體實例詳細(xì)講述了時下流行的高性能可伸縮服務(wù)器設(shè)計、IP多播和Internet廣播、P2P程序設(shè)計、原始套節(jié)字、SPI、協(xié)議驅(qū)動的開發(fā)和原始以太數(shù)據(jù)的發(fā)送、ARP欺騙技術(shù)、LAN和WAN上的掃描和偵測技術(shù)、商業(yè)級個人防火墻開發(fā)等;接下來講述了新一代網(wǎng)際協(xié)議IPv6和Winsock提供的幫助函數(shù);本書結(jié)尾部分,對E-mail、Telnet、FTP等協(xié)議進(jìn)行了介紹,給出了一個使用E-mail協(xié)議進(jìn)行多平臺同步閱讀的實例。本書的內(nèi)容采用Windows 10操作系統(tǒng)。書中包含了大量可重用的C++類,許多的例子稍做修改即可應(yīng)用到實際項目開發(fā)中。

作者簡介

  陳香凝 精通VC、C++、Windows編程,特別是對網(wǎng)絡(luò)的各種通信協(xié)議研究很多,有豐富的實踐經(jīng)驗,樂于分享,發(fā)表過各種論文。

圖書目錄

第1章 計算機網(wǎng)絡(luò)基礎(chǔ) 1
1.1 網(wǎng)絡(luò)的概念和網(wǎng)絡(luò)的組成 1
1.2 計算機網(wǎng)絡(luò)參考模型 2
1.2.1 協(xié)議層次 2
1.2.2 TCP/IP參考模型 2
1.2.3 應(yīng)用層(Application
Layer) 3
1.2.4 傳輸層(Transport Layer) 3
1.2.5 網(wǎng)絡(luò)層(Network Layer) 3
1.2.6 鏈路層(Link Layer) 4
1.2.7 物理層(Physical Layer) 4
1.3 網(wǎng)絡(luò)程序?qū)ぶ贩绞健?
1.3.1 MAC地址 4
1.3.2 IP地址 5
1.3.3 子網(wǎng)尋址 6
1.3.4 端口號 8
1.3.5 網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) 8
1.4 網(wǎng)絡(luò)應(yīng)用程序設(shè)計基礎(chǔ) 10
1.4.1 網(wǎng)絡(luò)程序體系結(jié)構(gòu) 10
1.4.2 網(wǎng)絡(luò)程序通信實體 11
1.4.3 網(wǎng)絡(luò)程序開發(fā)環(huán)境 11
第2章 Winsock編程接口 13
2.1 Winsock庫 13
2.1.1 Winsock庫的裝入和釋放 13
2.1.2 封裝CInitSock類 14
2.2 Winsock的尋址方式和字節(jié)順序 14
2.2.1 Winsock尋址 14
2.2.2 字節(jié)順序 15
2.2.3 獲取地址信息 16
2.3 Winsock編程詳解 19
2.3.1 Winsock編程流程 19
2.3.2 典型過程圖 22
2.3.3 TCP服務(wù)器和客戶端
程序舉例 23
2.3.4 UDP編程 25
2.4 網(wǎng)絡(luò)對時程序?qū)嵗?7
2.4.1 時間協(xié)議(Time
Protocol) 27
2.4.2 TCP/IP實現(xiàn)代碼 27
第3章 Windows套接字I/O模型 29
3.1 套接字模式 29
3.1.1 阻塞模式 29
3.1.2 非阻塞模式 29
3.2 選擇(select)模型 30
3.2.1 select函數(shù) 30
3.2.2 應(yīng)用舉例 31
3.3 WSAAsyncSelect模型 33
3.3.1 消息通知和WSAAsync
Select函數(shù) 34
3.3.2 應(yīng)用舉例 34
3.4 WSAEventSelect模型 37
3.4.1 WSAEventSelect函數(shù) 37
3.4.2 應(yīng)用舉例 38
3.4.3 基于WSAEventSelect
模型的服務(wù)器設(shè)計 40
3.5 重疊(Overlapped)I/O模型 48
3.5.1 重疊I/O函數(shù) 48
3.5.2 事件通知方式 50
3.5.3 基于重疊I/O模型的服務(wù)
器設(shè)計 51
第4章 IOCP與可伸縮網(wǎng)絡(luò)程序 60
4.1 完成端口I/O模型 60
4.1.1 什么是完成端口
(completion port)對象 60
4.1.2 使用IOCP的方法 60
4.1.3 示例程序 62
4.1.4 恰當(dāng)?shù)仃P(guān)閉IOCP 64
4.2 擴展函數(shù) 65
4.2.1 GetAcceptExSockaddrs
函數(shù) 65
4.2.2 TransmitFile函數(shù) 66
4.2.3 TransmitPackets函數(shù) 67
4.2.4 ConnectEx函數(shù) 67
4.2.5 DisconnectEx函數(shù) 68
4.3 可伸縮服務(wù)器設(shè)計注意事項 68
4.3.1 內(nèi)存資源管理 68
4.3.2 接受連接的方法 69
4.3.3 惡意客戶連接問題 69
4.3.4 包重新排序問題 69
4.4 可伸縮服務(wù)器系統(tǒng)設(shè)計實例 70
4.4.1 CIOCPServer類的總體
結(jié)構(gòu) 70
4.4.2 數(shù)據(jù)結(jié)構(gòu)定義和內(nèi)存池
方案 73
4.4.3 自定義幫助函數(shù) 76
4.4.4 開啟服務(wù)和停止服務(wù) 78
4.4.5 I/O處理線程 82
4.4.6 用戶接口和測試程序 87
第5章 互聯(lián)網(wǎng)廣播和IP多播 88
5.1 套接字選項和I/O控制命令 88
5.1.1 套接字選項 88
5.1.2 I/O控制命令 90
5.2 廣播通信 91
5.3 IP多播(Multicasting) 92
5.3.1 多播地址 92
5.3.2 組管理協(xié)議(IGMP) 93
5.3.3 使用IP多播 93
5.4 基于IP多播的組討論會實例 97
5.4.1 定義組討論會協(xié)議 98
5.4.2 線程通信機制 98
5.4.3 封裝CGroupTalk類 98
5.4.4 程序界面 103
第6章 原始套接字 106
6.1 使用原始套接字 106
6.2 ICMP編程 106
6.2.1 ICMP與校驗和的計算 107
6.2.2 Ping程序?qū)嵗?09
6.2.3 路由跟蹤 111
6.3 使用IP頭包含選項 113
6.3.1 IP數(shù)據(jù)報格式 113
6.3.2 UDP數(shù)據(jù)報格式 115
6.3.3 原始UDP封包發(fā)送
實例 117
6.4 網(wǎng)絡(luò)嗅探器開發(fā)實例 118
6.4.1 嗅探器設(shè)計原理 118
6.4.2 網(wǎng)絡(luò)嗅探器的具體實現(xiàn) 119
6.4.3 偵聽局域網(wǎng)內(nèi)的密碼 121
6.5 TCP通信開發(fā)實例 122
6.5.1 創(chuàng)建一個原始套接字
并設(shè)置IP頭選項 122
6.5.2 構(gòu)造IP頭和TCP頭 123
6.5.3 發(fā)送原始套接字?jǐn)?shù)據(jù)報 124
6.5.4 接收數(shù)據(jù) 127
第7章 Winsock服務(wù)提供者
 接口(SPI) 128
7.1 SPI概述 128
7.2 Winsock協(xié)議目錄 129
7.2.1 協(xié)議特性 130
7.2.2 使用Winsock API函數(shù)
枚舉協(xié)議 130
7.2.3 使用Winsock SPI函數(shù)
枚舉協(xié)議 132
7.3 分層服務(wù)提供者(LSP) 133
7.3.1 運行原理 133
7.3.2 安裝LSP 134
7.3.3 移除LSP 138
7.3.4 編寫LSP 139
7.3.5 LSP實例 140
7.4 基于SPI的數(shù)據(jù)報過濾實例 144
7.5 基于Winsock的網(wǎng)絡(luò)聊天室
 開發(fā) 149
7.5.1 服務(wù)端 149
7.5.2 客戶端 149
7.5.3 聊天室程序的設(shè)計說明 149
7.5.4 核心代碼分析 150
第8章 Windows網(wǎng)絡(luò)驅(qū)動接口標(biāo)準(zhǔn)
?。∟DIS)和協(xié)議驅(qū)動的開發(fā) 153
8.1 核心層網(wǎng)絡(luò)驅(qū)動 153
8.1.1 Windows 2000及其后產(chǎn)品
的網(wǎng)絡(luò)體系結(jié)構(gòu) 153
8.1.2 NDIS網(wǎng)絡(luò)驅(qū)動程序 154
8.1.3 網(wǎng)絡(luò)驅(qū)動開發(fā)環(huán)境 155
8.2 WDM驅(qū)動開發(fā)基礎(chǔ) 158
8.2.1 UNICODE字符串 158
8.2.2 設(shè)備對象 158
8.2.3 驅(qū)動程序的基本結(jié)構(gòu) 160
8.2.4 I/O請求包(I/O request
packet,IRP)和I/O
堆?!?60
8.2.5 完整驅(qū)動程序示例 163
8.2.6 擴展派遣接口 165
8.2.7 應(yīng)用舉例(進(jìn)程診
測實例) 167
8.3 開發(fā)NDIS網(wǎng)絡(luò)驅(qū)動預(yù)備知識 173
8.3.1 中斷請求級別(Interrupt
Request Level,IRQL) 173
8.3.2 旋轉(zhuǎn)鎖(Spin Lock) 173
8.3.3 雙鏈表 173
8.3.4 封包結(jié)構(gòu) 174
8.4 NDIS協(xié)議驅(qū)動 175
8.4.1 注冊協(xié)議驅(qū)動 175
8.4.2 打開下層協(xié)議驅(qū)動的
適配器 176
8.4.3 協(xié)議驅(qū)動的封包管理 177
8.4.4 在協(xié)議驅(qū)動中接收數(shù)據(jù) 178
8.4.5 從協(xié)議驅(qū)動發(fā)送封包 178
8.5 NDIS協(xié)議驅(qū)動開發(fā)實例 179
8.5.1 總體設(shè)計 179
8.5.2 NDIS協(xié)議驅(qū)動的初始化、
注冊和卸載 180
8.5.3 下層NIC的綁定和解除
 綁定 183
8.5.4 發(fā)送數(shù)據(jù) 190
8.5.5 接收數(shù)據(jù) 191
8.5.6 用戶IOCTL處理 196
第9章 網(wǎng)絡(luò)掃描與檢測技術(shù) 203
9.1 網(wǎng)絡(luò)掃描基礎(chǔ)知識 203
9.1.1 以太網(wǎng)數(shù)據(jù)幀 203
9.1.2 ARP 204
9.1.3 ARP格式 206
9.1.4 SendARP函數(shù) 207
9.2 原始以太封包的發(fā)送 207
9.2.1 安裝協(xié)議驅(qū)動 208
9.2.2 協(xié)議驅(qū)動用戶接口 208
9.2.3 發(fā)送以太封包的測試
程序 213
9.3 局域網(wǎng)計算機掃描 214
9.3.1 管理原始ARP封包 214
9.3.2 ARP掃描示例 217
9.4 互聯(lián)網(wǎng)計算機掃描 220
9.4.1 端口掃描原理 220
9.4.2 半開端口掃描實現(xiàn) 221
9.5 ARP欺騙原理與實現(xiàn) 225
9.5.1 IP欺騙的用途和實現(xiàn)
原理 225
9.5.2 IP地址沖突 226
9.5.3 ARP欺騙示例 227
第10章 點對點(P2P)網(wǎng)絡(luò)通信技術(shù) 230
10.1 NAT穿越概述 230
10.2 一般概念 231
10.2.1 NAT術(shù)語 231
10.2.2 中轉(zhuǎn) 231
10.2.3 反向連接 232
10.3 UDP打洞 232
10.3.1 中心服務(wù)器 232
10.3.2 建立點對點會話 233
10.3.3 公共NAT后面的節(jié)點 233
10.3.4 不同NAT后面的節(jié)點 234
10.3.5 多級NAT后面的節(jié)點 235
10.3.6 UDP空閑超時 236
10.4 TCP打洞 236
10.4.1 套接字和TCP端口
 重用 236
10.4.2 打開點對點的TCP流 237
10.4.3 應(yīng)用程序看到的行為 238
10.4.4 同步TCP打開 238
10.5 Internet點對點通信實例 239
10.5.1 總體設(shè)計 239
10.5.2 定義P2P通信協(xié)議 239
10.5.3 客戶方程序 240
10.5.4 服務(wù)器方程序 250
10.5.5 測試程序 253
第11章 核心層網(wǎng)絡(luò)封包截獲技術(shù) 256
11.1 Windows網(wǎng)絡(luò)數(shù)據(jù)和封包
過濾概述 256
11.1.1 Windows網(wǎng)絡(luò)系統(tǒng)
 體系結(jié)構(gòu)圖 256
11.1.2 用戶模式下的網(wǎng)絡(luò)
 數(shù)據(jù)過濾 257
11.1.3 內(nèi)核模式下的網(wǎng)絡(luò)
 數(shù)據(jù)過濾 258
11.2 中間層網(wǎng)絡(luò)驅(qū)動PassThru 258
11.2.1 PassThru NDIS中間
 層驅(qū)動簡介 258
11.2.2 編譯和安裝PassThru
 驅(qū)動 259
11.3 擴展PassThru NDIS IM驅(qū)動
—添加IOCTL接口 259
11.3.1 擴展之后的PassThru驅(qū)
 動(PassThruEx)概況 259
11.3.2 添加基本的
 DeviceIoControl接口 260
11.3.3 添加綁定枚舉功能 264
11.3.4 添加ADAPT結(jié)構(gòu)的
 引用計數(shù) 268
11.3.5 適配器句柄的打開/關(guān)
 閉函數(shù) 269
11.3.6 句柄事件通知 274
11.3.7 查詢和設(shè)置適配器的
 OID信息 275
11.4 擴展PassThru NDIS IM驅(qū)動
 —添加過濾規(guī)則 281
11.4.1 需要考慮的事項 282
11.4.2 過濾相關(guān)的數(shù)據(jù)結(jié)構(gòu) 282
11.4.3 過濾列表 284
11.4.4 網(wǎng)絡(luò)活動狀態(tài) 285
11.4.5 IOCTL控制代碼 285
11.4.6 過濾數(shù)據(jù) 288
11.5 核心層過濾實例 295
第12章 Windows網(wǎng)絡(luò)防火墻
 開發(fā)技術(shù) 297
12.1 防火墻技術(shù)概述 297
12.2 金羽(Phoenix)個人
 防火墻淺析 298
12.2.1 金羽(Phoenix)個人
 防火墻簡介 298
12.2.2 金羽(Phoenix)個人
 防火墻總體設(shè)計 299
12.2.3 金羽(Phoenix)個人
 防火墻總體結(jié)構(gòu) 300
12.3 開發(fā)前的準(zhǔn)備 300
12.3.1 常量的定義 300
12.3.2 訪問規(guī)則 302
12.3.3 會話結(jié)構(gòu) 303
12.3.4 文件結(jié)構(gòu) 303
12.3.5 UNICODE支持 308
12.4 應(yīng)用層DLL模塊 309
12.4.1 DLL工程框架 309
12.4.2 共享數(shù)據(jù)和IO控制 313
12.4.3 訪問控制列表ACL
(Access List) 315
12.4.4 查找應(yīng)用程序訪問
 權(quán)限的過程 318
12.4.5 類的接口—檢查
 函數(shù) 320
12.5 核心層SYS模塊 322
12.6 主模塊工程 324
12.6.1 I/O控制類 324
12.6.2 主應(yīng)用程序類 326
12.6.3 主對話框中的屬性頁 328
12.6.4 主窗口類 329
12.7 防火墻頁面 331
12.7.1 網(wǎng)絡(luò)訪問監(jiān)視頁面 331
12.7.2 應(yīng)用層過濾規(guī)則頁面 334
12.7.3 核心層過濾規(guī)則頁面 342
12.7.4 系統(tǒng)設(shè)置頁面 347
第13章 IP幫助函數(shù) 350
13.1 IP配置信息 350
13.1.1 獲取網(wǎng)絡(luò)配置信息 350
13.1.2 管理網(wǎng)絡(luò)接口 351
13.1.3 管理IP地址 355
13.2 獲取網(wǎng)絡(luò)狀態(tài)信息 357
13.2.1 獲取TCP連接表 358
13.2.2 獲取UDP監(jiān)聽表 360
13.2.3 獲取IP統(tǒng)計數(shù)據(jù) 362
13.3 路由管理 368
13.3.1 獲取路由表 368
13.3.2 管理特定路由 371
13.3.3 修改默認(rèn)網(wǎng)關(guān)的例子 371
13.4 ARP表管理 372
13.4.1 獲取ARP表 372
13.4.2 添加ARP入口 373
13.4.3 刪除ARP入口 373
13.4.4 打印ARP表的例子 373
13.5 進(jìn)程網(wǎng)絡(luò)活動監(jiān)視實例 376
13.5.1 獲取通信的進(jìn)程終端 377
13.5.2 Netstate源程序代碼 378
第14章 E-mail協(xié)議及其編程 382
14.1 概述 382
14.2 電子郵件介紹 383
14.2.1 電子郵件Internet的
 地址 383
14.2.2 Internet郵件系統(tǒng) 383
14.2.3 電子郵件的信頭結(jié)構(gòu)
 及分析 384
14.3 SMTP協(xié)議原理介紹 386
14.3.1 SMTP的原理分析 386
14.3.2 SMTP工作機制 386
14.3.3 SMTP協(xié)議命令碼和
 工作原理 387
14.3.4 SMTP協(xié)議通信模型 388
14.3.5 SMTP協(xié)議的命令和
 應(yīng)答 389
14.4 POP3協(xié)議原理介紹 390
14.4.1 POP3協(xié)議簡介 390
14.4.2 POP3工作原理 391
14.4.3 POP3命令原始碼 392
14.4.4 POP3會話實例 397
14.5 實例分析與程序設(shè)計 398
14.5.1 總界面設(shè)計 398
14.5.2 SMTP客戶端設(shè)計 399
14.5.3 POP3客戶端設(shè)計 410
第15章 Telnet協(xié)議及其編程 417
15.1 概述 417
15.2 Telnet協(xié)議使用 417
15.3 Telnet協(xié)議原理 419
15.4 實例分析與程序設(shè)計 421
第16章 FTP協(xié)議及其編程 429
16.1 概述 429
16.1.1 背景 429
16.1.2 下載和上傳 429
16.1.3 登錄和匿名 430
16.1.4 目標(biāo) 430
16.1.5 缺點 430
16.2 FTP工作原理 430
16.3 FTP使用模式 432
16.4 FTP的常用命令與響應(yīng) 433
16.5 實例分析與程序設(shè)計 435
第17章 多平臺同步隨身閱讀——Send
 To Kindle的一種實現(xiàn)方式 448
17.1 Amazon Kindle簡介 448
17.2 多平臺同步閱讀概述 449
17.3 Send To Kindle PC版簡介 450
17.4 推送到Kindle的工作原理 451
17.5 Kindle對郵箱附件的要求 452
17.6 使用附件方式發(fā)送待閱讀
文章到Kindle 452
17.7 系統(tǒng)右鍵菜單集成 462

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號