Java網(wǎng)絡(luò)編程案例教程(微課版)(21世紀(jì)高等學(xué)校計(jì)算機(jī)類課程創(chuàng)新規(guī)劃教材·微課版)
定 價(jià):59 元
- 作者:董相志、唐玉凱、張?jiān)缽?qiáng)、劉學(xué)剛、逯其魯、
- 出版時(shí)間:2017/10/21
- ISBN:9787302482833
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312C
- 頁碼:400
- 紙張:膠紙版
- 版次:1
- 開本:16K
本書圍繞Java網(wǎng)絡(luò)編程的關(guān)鍵技術(shù)和共性技術(shù)展開介紹,全書共分15章,每一章都以案例的設(shè)計(jì)與應(yīng)用為主線,理論與實(shí)踐結(jié)合。每一個(gè)案例都是經(jīng)過精心挑選的經(jīng)典應(yīng)用。這些案例以桌面網(wǎng)絡(luò)編程為起點(diǎn),實(shí)現(xiàn)了從桌面網(wǎng)絡(luò)編程到Web網(wǎng)絡(luò)編程再到Android網(wǎng)絡(luò)編程的三級(jí)跨越,極具應(yīng)用價(jià)值。各部分內(nèi)容銜接緊密,貼近實(shí)戰(zhàn),層層推進(jìn),相互呼應(yīng),體現(xiàn)了網(wǎng)絡(luò)編程的大局觀。
本書內(nèi)容豐富,實(shí)用性強(qiáng),教學(xué)資源系統(tǒng)全面,每一節(jié)都有與之對(duì)應(yīng)的微課視頻教程,與教材完全同步,讀者掃描二維碼即可在線觀看。
本書既可作為高等院校信息技術(shù)類專業(yè)教材,也可供社會(huì)各界的信息技術(shù)人員學(xué)習(xí)參考。
1.以應(yīng)用為導(dǎo)向,以網(wǎng)絡(luò)編程方法為核心,著重從實(shí)踐層面實(shí)施案例教學(xué),邊理論邊實(shí)踐。
2.每節(jié)內(nèi)容均有微課視頻教程,掃描書中二維碼即可觀看。
3.配套教學(xué)資源齊全,源程序、實(shí)驗(yàn)報(bào)告、教學(xué)課件等電子資源可從清華大學(xué)出版社網(wǎng)站下載。
目錄
第1章概述
1.1網(wǎng)絡(luò)編程簡(jiǎn)介
1.2練習(xí)文件
1.3開發(fā)工具準(zhǔn)備
1.4Java I/O流
1.5Java Socket
1.6Java線程
1.7客戶機(jī)/服務(wù)器一對(duì)一通信模型
1.8服務(wù)器程序
1.9客戶機(jī)程序
1.10小結(jié)
1.11實(shí)驗(yàn)1: 探索網(wǎng)絡(luò)編程世界
1.12習(xí)題1
第2章一客戶一線程
2.1作品演示
2.2本章重點(diǎn)知識(shí)介紹
2.3客戶機(jī)界面設(shè)計(jì)
2.4服務(wù)器界面設(shè)計(jì)
2.5客戶機(jī)連接服務(wù)器
2.6客戶機(jī)發(fā)送消息
2.7服務(wù)器啟動(dòng)線程及連接線程
2.8客戶機(jī)會(huì)話線程
2.9小結(jié)
2.10實(shí)驗(yàn)2: 用SwingWorker改寫線程
2.11習(xí)題2
第3章線程池
3.1作品演示
3.2本章重點(diǎn)知識(shí)介紹
3.3客戶機(jī)界面設(shè)計(jì)
3.4服務(wù)器界面設(shè)計(jì)
3.5自定義協(xié)議類
3.6啟動(dòng)服務(wù)器
3.7連接線程
3.8關(guān)閉線程池
3.9客戶線程
3.10客戶機(jī)連接服務(wù)器
3.11客戶機(jī)發(fā)送消息
3.12小結(jié)
3.13實(shí)驗(yàn)3: 線程池與一客戶一線程
3.14習(xí)題3
第4章非阻塞I/O
4.1作品演示
4.2本章重點(diǎn)知識(shí)介紹
4.3客戶機(jī)界面設(shè)計(jì)
4.4服務(wù)器界面設(shè)計(jì)
4.5服務(wù)器自定義協(xié)議類
4.6啟動(dòng)服務(wù)器
4.7服務(wù)器輪詢線程
4.8服務(wù)器處理連接
4.9服務(wù)器讀寫數(shù)據(jù)
4.10客戶機(jī)連接服務(wù)器
4.11客戶機(jī)出拳邏輯
4.12小結(jié)
4.13實(shí)驗(yàn)4: 非阻塞I/O實(shí)驗(yàn)拓展
4.14習(xí)題4
第5章UDP協(xié)議通信
5.1作品演示
5.2本章重點(diǎn)知識(shí)介紹
5.3客戶機(jī)登錄界面
5.4客戶機(jī)會(huì)話界面
5.5服務(wù)器界面
5.6消息類與轉(zhuǎn)換類
5.7消息協(xié)議設(shè)計(jì)
5.8客戶機(jī)登錄邏輯
5.9客戶機(jī)發(fā)送消息
5.10客戶機(jī)離開邏輯
5.11客戶機(jī)自動(dòng)接收消息
5.12啟動(dòng)服務(wù)器
5.13服務(wù)器處理消息線程
5.14小結(jié)
5.15實(shí)驗(yàn)5: QQ聊天項(xiàng)目拓展
5.16習(xí)題5
第6章TCP協(xié)議傳輸文件
6.1作品演示
6.2本章重點(diǎn)知識(shí)介紹
6.3工具欄、彈出菜單和進(jìn)度條
6.4選擇文件
6.5文件發(fā)送線程
6.6服務(wù)器處理連接線程
6.7服務(wù)器接收文件線程
6.8小結(jié)
6.9實(shí)驗(yàn)6: 端口掃描器
6.10習(xí)題6
第7章SSL安全通信
7.1作品演示
7.2本章重點(diǎn)知識(shí)介紹
7.3用keytool生成公鑰/私鑰
7.4創(chuàng)建QQDB數(shù)據(jù)庫(kù)
7.5數(shù)據(jù)庫(kù)操作類
7.6密鑰算法類
7.7數(shù)據(jù)庫(kù)測(cè)試與數(shù)據(jù)準(zhǔn)備
7.8完成安全登錄設(shè)計(jì)
7.9發(fā)送文件與數(shù)字簽名線程
7.10服務(wù)器處理連接線程
7.11接收文件與驗(yàn)證簽名線程
7.12小結(jié)
7.13實(shí)驗(yàn)7: 安全登錄與安全注冊(cè)
7.14習(xí)題7
第8章網(wǎng)絡(luò)抓包與協(xié)議分析
8.1作品演示
8.2本章重點(diǎn)知識(shí)介紹
8.3創(chuàng)建項(xiàng)目框架
8.4用戶界面設(shè)計(jì)
8.5捕獲網(wǎng)絡(luò)數(shù)據(jù)包
8.6包過濾器
8.7自定義顯示類
8.8文件操作
8.9主程序邏輯設(shè)計(jì)
8.10小結(jié)
8.11實(shí)驗(yàn)8: WireShark與Sniffer
8.12習(xí)題8
第9章Java郵件客戶端
9.1作品演示
9.2本章重點(diǎn)知識(shí)介紹
9.3SMTP協(xié)議概述與體驗(yàn)
9.4POP3協(xié)議概述與體驗(yàn)
9.5IMAP協(xié)議概述
9.6JavaMail概述
9.7客戶端登錄界面設(shè)計(jì)
9.8客戶端主界面設(shè)計(jì)
9.9客戶端郵件編輯界面設(shè)計(jì)
9.10郵件發(fā)送功能
9.11郵件接收類
9.12郵件的解析與顯示
9.13小結(jié)
9.14實(shí)驗(yàn)9: 郵件客戶端拓展
9.15習(xí)題9
第10章Java WebSocket
10.1作品演示
10.2本章重點(diǎn)知識(shí)介紹
10.3開發(fā)準(zhǔn)備
10.4熟悉WebSocket
10.5編寫基礎(chǔ)類
10.6實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作
10.7JSON格式轉(zhuǎn)換
10.8實(shí)現(xiàn)注冊(cè)功能
10.9實(shí)現(xiàn)登錄與退出功能
10.10編寫聊天頁面
10.11實(shí)現(xiàn)收發(fā)信息與保存聊天記錄
10.12實(shí)現(xiàn)服務(wù)器群聊功能
10.13小結(jié)
10.14實(shí)驗(yàn)10: 實(shí)現(xiàn)私聊功能
10.15習(xí)題10
第5章
UDP協(xié)議通信
QQ是一款功能強(qiáng)大的即時(shí)通信軟件,文本、圖片、語音、視頻、文件……想象不出還有什么數(shù)據(jù)是不能通過QQ交換的。QQ讓人們的溝通與協(xié)作變得更好,讓人們天涯若比鄰。本章借QQ之光,演繹UDP協(xié)議之精彩。
5.1作 品 演 示
作品描述: 完成類似QQ群聊的設(shè)計(jì)。模仿QQ的登錄方式,輸入QQ號(hào)碼和密碼,登錄驗(yàn)證成功后進(jìn)入聊天界面。為簡(jiǎn)化設(shè)計(jì),聊天內(nèi)容由服務(wù)器向所有在線用戶轉(zhuǎn)發(fā),用戶之間的一對(duì)一私聊請(qǐng)見本章的實(shí)驗(yàn)拓展。客戶機(jī)與服務(wù)器之間的通信采用UDP協(xié)議。
作品功能演示如下:
打開chap05目錄下的begin子文件夾,會(huì)看到里面包含兩個(gè)jar文件,如圖5.1所示,QQServer.jar是服務(wù)器程序,QQClient.jar是客戶機(jī)程序。
圖5.1chap05的begin目錄
首先運(yùn)行服務(wù)器程序,單擊初始界面上的“啟動(dòng)服務(wù)器”按鈕,服務(wù)器運(yùn)行狀態(tài)如圖5.2所示。此時(shí)服務(wù)器工作于localhost主機(jī)的50000端口,根據(jù)監(jiān)控面板的提示,服務(wù)器此時(shí)處于偵聽狀態(tài),等待新客戶機(jī)的到來。
圖5.2聊天室服務(wù)器啟動(dòng)后的初始界面
下面啟動(dòng)三個(gè)客戶機(jī)聯(lián)合測(cè)試。雙擊QQClient.jar,客戶機(jī)登錄界面如圖5.3所示。這里用2000賬號(hào)登錄,本章還可以用3000、8000這兩個(gè)賬號(hào)登錄。密碼隨意。賬號(hào)與密碼不能為空,否則會(huì)給出錯(cuò)誤提示。在第7章,將結(jié)合數(shù)據(jù)庫(kù)技術(shù)、安全通信技術(shù)實(shí)現(xiàn)用戶的安全注冊(cè)和登錄設(shè)計(jì)。
圖5.3QQ登錄界面
單擊圖5.3中的“登錄”按鈕,進(jìn)入聊天界面,如圖5.4所示。
圖5.4客戶機(jī)2000登錄后的聊天界面
同樣的方法,用3000和8000賬號(hào)登錄,登錄后的界面如圖5.5和圖5.6所示。