《Visual C++網(wǎng)絡編程案例實戰(zhàn)》結合21個實戰(zhàn)開發(fā)案例,全面、系統(tǒng)地介紹了Visual C++網(wǎng)絡開發(fā)所涉及的各種技術。讀者可以以本書中的案例為基礎,編寫出功能更加強大的網(wǎng)絡應用。另外,作者專門為本書錄制了大量的配套教學視頻,以幫助讀者更好地學習本書內(nèi)容。這些視頻和書中的實例源代碼一起收錄于本書的配書光盤中。
《Visual C++網(wǎng)絡編程案例實戰(zhàn)》共15章,分為3篇。第1篇介紹了Visual C++網(wǎng)絡開發(fā)基礎知識,包括Visual C++網(wǎng)絡編程概述、Socket套接字編程和多線程與異步套接字編程。第2篇介紹了7大類網(wǎng)絡開發(fā)典型應用案例的實現(xiàn),包括FTP客戶端實現(xiàn)之一、FTP客戶端實現(xiàn)之二、網(wǎng)頁瀏覽器、網(wǎng)絡通信器、郵件接收和發(fā)送客戶端之一、郵件接收和發(fā)送客戶端之二、網(wǎng)絡文件傳輸器、Q版聊天軟件和聊天室。第3篇介紹了Visual C++串口通信開發(fā),包括串口通信基礎、串口通信編程應用和VC發(fā)送手機短信實戰(zhàn)案例。
《Visual C++網(wǎng)絡編程案例實戰(zhàn)》適合用Visual CH進行網(wǎng)絡程序開發(fā)的人員閱讀,也適合想進一步提升Visual C++網(wǎng)絡編程水平的人員閱讀。另外,本書非常適合大中專院校的學生作為畢業(yè)設計和課題設計的參考書。
全方位展現(xiàn)VisualC++網(wǎng)絡編程的8大經(jīng)典應用實戰(zhàn)為王,詳解21個典型應用案例的開發(fā)過程q 詳解FTP、網(wǎng)頁瀏覽器、網(wǎng)絡通信器、郵件收發(fā)、網(wǎng)絡文件傳輸、P2P聊天軟件、聊天室和短信貓等經(jīng)典案例的開發(fā)過程q 對涉及的各種通信協(xié)議進行了介紹,便于讀者了解網(wǎng)絡程序的工作方式,加深對相應通信機制的理解q 重點剖析了Socket編程、多線程編程、同步模式和異步模式q 提供14小時高清多媒體教學視頻,并贈送大量的VisualC++教學視頻和實例源代碼 超值、大容量DVD光盤14小時配套教學視頻及本書實例源文件20.5小時VisualC++開發(fā)專題教學視頻11.3小時VisualC++開發(fā)進階教學視頻13個VisualC++典型模塊源文件3個VisualC++拓展項目案例源文件推薦閱讀:《零點起飛學C++》《零點起飛學VisualC++》
隨著計算機的普及,網(wǎng)絡的應用也越來越廣泛。如今人們正在享受著各種網(wǎng)絡服務帶來的便利,例如,在門戶網(wǎng)站看新聞,通過下載工具獲取網(wǎng)絡資源,通過即時通訊軟件聯(lián)系好友等。
由于微軟的操作系統(tǒng)Windows一直都在個人計算機領域有著廣泛的應用和市場占有率,所以Windows網(wǎng)絡編程技術也受到了越來越多的程序員和軟件公司的青睞。為了便于大家更好地學習Windows網(wǎng)絡編程技術,筆者編寫了本書。
本書以Visual C++為開發(fā)環(huán)境,系統(tǒng)地講解了Windows網(wǎng)絡編程所涉及的各種技術。書中穿插了21個實戰(zhàn)開發(fā)案例,幫助讀者身臨其境地體驗實際的項目案例開發(fā)過程,從而提高開發(fā)水平。為了幫助讀者高效而直觀地學習本書內(nèi)容,筆者專門為本書錄制了大量的配套多媒體教學視頻輔助讀者學習。閱讀完本書,相信讀者對書中的項目案例適當修改,即可編寫出功能更加強大的網(wǎng)絡應用。
本書中的案例除了適合廣大的Windows網(wǎng)絡編程愛好者學習之外,還是大中專院校相關專業(yè)的學生做畢業(yè)設計和課題設計的絕佳參考。
本書有何特色
1.配多媒體教學視頻光盤
本書提供了大量的多媒體語音教學視頻,讓讀者更加直觀地理解本書內(nèi)容,提高學習效率。另外,配書光盤中還提供了本書涉及的實例源程序,以方便讀者使用。
2.由淺入深,循序漸進
本書首先從C/S網(wǎng)絡模型等網(wǎng)絡編程基礎知識開始向讀者講解,并在讀者不斷學習的過程中,引進新的知識點,鼓勵讀者獨立修改各章中的實例程序。然后重點通過21個實戰(zhàn)案例讓讀者進一步掌握Visual C++網(wǎng)絡編程的各種技術。
3.案例精講,實戰(zhàn)為王
本書突出實用性強的特點,第4~12章以及第14章和第15章都提供了典型的網(wǎng)絡開發(fā)案例精講,涵蓋了網(wǎng)絡編程應用的主流應用,既涉及與服務器的交互,如FTP服務器、郵箱服務器,又涉及S/C結構應用的搭建,如聊天室、文件傳輸器等。
4.提供教學PPT,方便老師教學
本書適合能力培養(yǎng)型的院校和職業(yè)學校作為教學用書,所以專門制作了教學PPT,以方便各院校的老師教學時使用。
本書內(nèi)容安排
第1篇 Visual C++網(wǎng)絡開發(fā)基礎(第1~3章)
本篇主要內(nèi)容包括Visual C++網(wǎng)絡編程概述、Socket套接字編程和多線程與異步套接字編程,讓讀者對網(wǎng)絡編程有個系統(tǒng)的認識,有利于本書后面章節(jié)的學習。
第2篇 Visual C++網(wǎng)絡開發(fā)典型應用(第4~12章)
本篇主要內(nèi)容包括FTP客戶端、網(wǎng)頁瀏覽器、網(wǎng)絡通信器、郵件接收和發(fā)送客戶端、網(wǎng)絡文件傳輸器、Q版聊天軟件和聊天室等開發(fā)案例,讓讀者學會如何使用Visual C++編寫軟件。
第3篇 Visual C++串口通信開發(fā)(第13~15章)
本篇主要內(nèi)容包括串口通信基礎及應用和VC發(fā)送手機短信,讓讀者了解計算機串口,然后學會通過串口來控制計算機外圍設備。本篇介紹通過串口給另一臺計算機和短信貓發(fā)送數(shù)據(jù)來完成相應的功能。
本書讀者對象
* Windows網(wǎng)絡編程愛好者;
* 想提高Visual C++編程水平的人員;
* 大中專院校的學生;
* 相關培訓班的學員。
本書作者
本書主要由梁偉編寫。其他參與編寫的人員有陳世瓊、陳欣、陳智敏、董加強、范禮、郭秋滟、郝紅英、蔣春蕾、黎華、劉建準、劉霄、劉亞軍、劉仲義、柳剛、羅永峰、馬奎林、馬味、歐陽昉、蒲軍、齊鳳蓮、王海濤、魏來科、伍生全、謝平、徐學英、楊艷、余月、岳富軍、張健和張娜。
如果你在學習中遇到什么問題,可以通過技術論壇http://www.wanjuanchina.net和book@wanjuanchina.net或bookservice2008@163.com和我們?nèi)〉寐?lián)系。
編著者
粱偉,軟件工程師,電氣工程師。擅長C++網(wǎng)絡通信、數(shù)字圖像處理和DCS分布式系統(tǒng)開發(fā)等技術。擔任C3P圖像處理論壇版主和匯編網(wǎng)的講師。參與過多個大型項目,包括銀行ATM機系統(tǒng)、電力系統(tǒng)監(jiān)控系統(tǒng)和醫(yī)療CT圖像系統(tǒng)等。
第1篇 Visual C++網(wǎng)絡開發(fā)基礎
第1章 Visual C++網(wǎng)絡編程概述( 教學視頻:21分鐘) 2
1.1 網(wǎng)絡基礎知識 2
1.1.1 OSI七層網(wǎng)絡模型 2
1.1.2 TCP/IP協(xié)議 3
1.1.3 C/S編程模型 4
1.2 網(wǎng)絡編程基礎 4
1.2.1 Sockets套接字 5
1.2.2 網(wǎng)絡字節(jié)順序 5
1.3 Windows Sockets介紹 5
1.3.1 CAsyncSocket類 5
1.3.2 CSocket類 5
1.4 小結 6
第2章 Socket套接字編程( 教學視頻:102分鐘) 7
2.1 尋址方式和字節(jié)順序 7
第1篇 Visual C++網(wǎng)絡開發(fā)基礎
第1章 Visual C++網(wǎng)絡編程概述( 教學視頻:21分鐘) 2
1.1 網(wǎng)絡基礎知識 2
1.1.1 OSI七層網(wǎng)絡模型 2
1.1.2 TCP/IP協(xié)議 3
1.1.3 C/S編程模型 4
1.2 網(wǎng)絡編程基礎 4
1.2.1 Sockets套接字 5
1.2.2 網(wǎng)絡字節(jié)順序 5
1.3 Windows Sockets介紹 5
1.3.1 CAsyncSocket類 5
1.3.2 CSocket類 5
1.4 小結 6
第2章 Socket套接字編程( 教學視頻:102分鐘) 7
2.1 尋址方式和字節(jié)順序 7
2.1.1 尋址方式 7
2.1.2 字節(jié)順序 8
2.1.3 Socket相關函數(shù) 9
2.2 Winsock網(wǎng)絡程序開發(fā)流程 11
2.2.1 VC中創(chuàng)建工程的步驟 11
2.2.2 Winsock編程流程 12
2.2.3 基于TCP的Sockets編程 16
2.2.4 基于UDP的Sockets編程 19
2.3 網(wǎng)絡程序?qū)嵗龖?22
2.3.1 TCP客戶端程序 22
2.3.2 TCP服務器程序 29
2.4 小結 34
第3章 多線程與異步套接字編程( 教學視頻:119分鐘) 35
3.1 多線程技術 35
3.1.1 基本概念 35
3.1.2 創(chuàng)建線程 36
3.2 實現(xiàn)線程同步 39
3.2.1 臨界區(qū)對象 39
3.2.2 事件對象 44
3.2.3 互斥對象 49
3.3 進程間通信 54
3.3.1 郵槽 54
3.3.2 命名管道 58
3.3.3 匿名管道 64
3.4 設置I/O模式 70
3.4.1 異步I/O模式 71
3.4.2 WSAAsyncSelect方法 71
3.5 小結 72
第2篇 Visual C++網(wǎng)絡開發(fā)典型應用
第4章 FTP客戶端實現(xiàn)之一( 教學視頻:54分鐘) 74
4.1 FTP工作原理 74
4.1.1 FTP數(shù)據(jù)結構 74
4.1.2 FTP數(shù)據(jù)傳輸模式 75
4.1.3 與服務器進行連接 76
4.1.4 登錄驗證 77
4.1.5 關閉數(shù)據(jù)連接 77
4.1.6 FTP常用命令 77
4.1.7 數(shù)據(jù)校驗與重發(fā)控制 78
4.2 FTP客戶端實例 78
4.2.1 創(chuàng)建工程 78
4.2.2 連接和登錄驗證 79
4.2.3 更新文件列表 82
4.2.4 文件上傳 86
4.2.5 文件下載 88
4.2.6 安全退出 90
4.3 小結 92
第5章 FTP客戶端實現(xiàn)之二( 教學視頻:71分鐘) 93
5.1 FTP客戶端簡介 93
5.1.1 樹形結構的應用 93
5.1.2 列表結構的應用 93
5.1.3 信息框的應用 94
5.1.4 浮動對話框的應用 94
5.2 關鍵技術講解 94
5.2.1 制作、使用浮動對話框 95
5.2.2 客戶區(qū)的分割 98
5.2.3 樹形視圖項目拖動效果 100
5.2.4 列表視圖項目拖動效果 107
5.3 實現(xiàn)FTP客戶端 111
5.3.1 WinInet類介紹 111
5.3.2 FTP服務器操作 113
5.3.3 遍歷本地文件夾資源 118
5.3.4 拖動文件實現(xiàn)上傳 122
5.3.5 拖動文件實現(xiàn)下載 124
5.3.6 多次修改的頭文件 125
5.4 小結 127
第6章 網(wǎng)頁瀏覽器( 教學視頻:36分鐘) 128
6.1 HTTP協(xié)議 128
6.1.1 HTTP基礎 128
6.1.2 HTTP請求 128
6.1.3 HTTP響應 131
6.2 應用Microsoft Web控件實例 134
6.2.1 創(chuàng)建工程 135
6.2.2 添加Microsoft Web控件 135
6.2.3 輸入地址,載入網(wǎng)頁 137
6.2.4 網(wǎng)頁導航 137
6.3 應用CHtmlView實例 138
6.3.1 創(chuàng)建工程 139
6.3.2 輸入地址,載入網(wǎng)頁 140
6.3.3 網(wǎng)頁導航 141
6.4 小結 142
第7章 網(wǎng)絡通信器( 教學視頻:26分鐘) 143
7.1 通信原理及連接 143
7.1.1 通信原理 143
7.1.2 通信連接 143
7.2 服務器端程序 145
7.2.1 開啟服務器 146
7.2.2 響應連接與讀取 150
7.2.3 發(fā)送信息 152
7.2.4 斷開連接 152
7.3 客戶端程序 153
7.3.1 連接服務器 154
7.3.2 響應讀取 155
7.3.3 發(fā)送信息 156
7.3.4 斷開連接 156
7.4 客戶端與服務器端 156
7.5 小結 157
第8章 郵件接收和發(fā)送客戶端之一( 教學視頻:57分鐘) 158
8.1 調(diào)用Windows自帶的郵件發(fā)送程序 158
8.1.1 調(diào)用Windows自帶程序 158
8.1.2 CreateProcess()函數(shù) 159
8.2 SMTP會話過程 163
8.2.1 連接服務器 163
8.2.2 SMTP命令 165
8.2.3 發(fā)送命令與接收響應 168
8.3 SMTP客戶端——發(fā)送郵件 170
8.3.1 準備工作 170
8.3.2 SMTP登錄身份驗證方式 171
8.3.3 連接登錄服務器 172
8.3.4 構造并發(fā)送郵件 175
8.3.5 退出程序 179
8.4 POP3簡介 179
8.5 POP3客戶端——接收郵件 181
8.5.1 準備工作 181
8.5.2 連接登錄服務器 183
8.5.3 獲取郵件列表 186
8.5.4 獲取并解析郵件內(nèi)容 187
8.5.5 退出程序 191
8.6 小結 191
第9章 郵件接收和發(fā)送客戶端之二( 教學視頻:94分鐘) 192
9.1 郵件管理器簡介 192
9.1.1 程序主界面 192
9.1.2 “設置”對話框 192
9.1.3 收件箱 193
9.1.4 發(fā)件箱 194
9.1.5 “正在處理中…”對話框 196
9.2 Jmail簡介 197
9.2.1 如何使用Jmail 197
9.2.2 屬性 199
9.2.3 方法 199
9.2.4 發(fā)送和接收郵件示例 200
9.3 CBitButtonNL簡介 201
9.3.1 按鈕圖像 201
9.3.2 按鈕字體 207
9.3.3 按鈕聲音 210
9.3.4 自繪按鈕 215
9.3.5 頭文件總覽 217
9.4 郵件管理程序示例 219
9.4.1 程序主窗體 220
9.4.2 設置窗體 227
9.4.3 收件箱窗體 231
9.4.4 發(fā)件箱窗體 241
9.4.5 “正在處理中…”窗體 246
9.5 小結 248
第10章 網(wǎng)絡文件傳輸器( 教學視頻:32分鐘) 249
10.1 CFile類 249
10.1.1 構造函數(shù) 249
10.1.2 讀寫文件 250
10.1.3 文件關閉 251
10.1.4 文件定位 252
10.2 使用API函數(shù)操作文件 253
10.2.1 創(chuàng)建文件 253
10.2.2 操作文件 255
10.3 內(nèi)存映射文件 258
10.4 文件傳輸服務器實例 260
10.5 文件傳輸客戶端實例 266
10.6 小結 269
第11章 Q版聊天軟件( 教學視頻:44分鐘) 270
11.1 設計軟件通訊時的消息格式 270
11.2 Q版聊天服務器端 271
11.2.1 工程創(chuàng)建及界面設計 271
11.2.2 對話框的初始化 271
11.2.3 服務器的開啟和關閉 273
11.2.4 自定義客戶端信息結構 275
11.2.5 其他封裝函數(shù) 276
11.2.6 自定義響應函數(shù) 279
11.2.7 QQ_serverDlg.h文件全觀 281
11.3 Q版聊天客戶端 283
11.3.1 工程創(chuàng)建及界面設計 283
11.3.2 主對話框的初始化 284
11.3.3 連接服務器 285
11.3.4 自定義封裝函數(shù) 287
11.3.5 自定義響應函數(shù) 289
11.3.6 發(fā)送信息對話框 291
11.3.7 QQ_clientDlg.h文件全觀 293
11.4 小結 294
第12章 聊天室( 教學視頻:71分鐘) 295
12.1 聊天室功能簡介 295
12.1.1 開啟聊天室服務器 295
12.1.2 登錄聊天室 296
12.1.3 聊天對話框 296
12.2 CSocket簡介 298
12.2.1 創(chuàng)建Socket 298
12.2.2 偵聽連接請求 299
12.2.3 接受連接請求 299
12.2.4 發(fā)送信息 300
12.2.5 接收信息 300
12.3 我們約定個協(xié)議 300
12.4 靈活可靠的控件 301
12.4.1 位圖按鈕 301
12.4.2 IP地址編輯框 307
12.4.3 列表控件 312
12.4.4 圖像組合框控件 323
12.5 聊天室服務器 326
12.5.1 聊天室服務器界面設計 326
12.5.2 添加套接字類 328
12.5.3 服務器功能實現(xiàn) 330
12.6 聊天室客戶端 340
12.6.1 聊天室客戶端界面設計 340
12.6.2 添加套接字類 342
12.6.3 客戶端功能實現(xiàn) 342
12.7 小結 350
第3篇 Visual C++串口通信開發(fā)
第13章 串口通信基礎( 教學視頻:17分鐘) 352
13.1 串口通信基本概念 352
13.1.1 串口通信概述 352
13.1.2 單工、半雙工和全雙工的定義 353
13.1.3 同步方式與異步方式 355
13.1.4 串口通信的應用方向 356
13.2 常用數(shù)據(jù)校驗法 356
13.2.1 奇偶校驗 356
13.2.2 循環(huán)冗余校驗 357
13.3 小結 358
第14章 串口通信編程應用( 教學視頻:52分鐘) 359
14.1 MFC串口控件編程 359
14.1.1 VC中應用MSComm控件編程步驟 359
14.1.2 MSComm控件類 360
14.1.3 MSComm控件串行通信編程方法 362
14.1.4 在基于對話框的程序中使用MSComm控件 365
14.2 串口API編程 369
14.2.1 Windows API串口編程概述 369
14.2.2 API串口編程中用到的結構及相關概念說明 370
14.2.3 OVERLAPPED異步I/O重疊結構 374
14.2.4 Win32 API串口通信編程的一般流程 376
14.2.5 Win32 API同步串口編程實例 378
14.2.6 Win32 API異步串口編程實例 382
14.3 小結 385
第15章 VC發(fā)送手機短信( 教學視頻:38分鐘) 386
15.1 短信貓介紹 386
15.1.1 短信貓簡介 386
15.1.2 短信貓分類 387
15.1.3 短信貓開發(fā)接口 388
15.2 實現(xiàn)與短信貓的硬件連接 390
15.2.1 短信貓的硬件設備 390
15.2.2 PC連接短信貓 391
15.3 相關AT指令介紹 393
15.3.1 AT指令介紹 393
15.3.2 AT指令 394
15.4 短信發(fā)送規(guī)則 394
15.4.1 Text模式 394
15.4.2 PDU模式 394
15.5 超級終端演示信息發(fā)送 395
15.5.1 連接短信貓 396
15.5.2 Text模式演示 397
15.5.3 PDU模式演示 398
15.6 VC短信發(fā)送示例 400
15.6.1 示例展示 400
15.6.2 封裝串口操作 401
15.6.3 連接串口 403
15.6.4 PDU模式短信 405
15.6.5 Text模式短信 409
15.7 小結 411