? 我的新書《微博是這樣煉成的:從聊天室到Twitter的實(shí)現(xiàn)》己由人民郵電出版社出版,上市發(fā)行。先上封面圖:
?
?
本書特點(diǎn)簡介:
???? (1)項(xiàng)目驅(qū)動
?? 本書的技術(shù)點(diǎn)專注于網(wǎng)絡(luò)通信、安全加密和項(xiàng)目設(shè)計(jì)構(gòu)架3方面。講解的技術(shù)要點(diǎn)有TCP/IP編程、設(shè)計(jì)模式、UDP編程、P2P通信、通信加密技術(shù)、Java NIO技術(shù)、JMF視頻通信、RMI遠(yuǎn)程調(diào)用、Hessian Web Service、Memcached緩存系統(tǒng)等。這些看似深刻難以理解和掌握的技術(shù)要點(diǎn)被通過循序漸進(jìn)的案例實(shí)踐,一步一步構(gòu)建到一個完整的項(xiàng)目中。讀者只要跟隨本書一路走下來,至少實(shí)踐完成三個典型項(xiàng)目:仿QQ IM項(xiàng)目(JavaKe)、中國移動CMPP網(wǎng)關(guān)項(xiàng)目、仿Twitter項(xiàng)目(JTwitter)。還可對相關(guān)行業(yè)業(yè)務(wù)知識進(jìn)行詳細(xì)深入的了解。有實(shí)踐項(xiàng)目,才有深入理解,這才叫作“掌握技術(shù)”——本書并不是教你成為“知道分子”的參考書。
?? (2)啟發(fā)式講解
?? 做老師的經(jīng)歷讓作者明白“老師是沒有權(quán)力告訴學(xué)生答案”的道理的,本書的目的不僅限于告訴讀者“可以這樣寫代碼”。而是通過提出需求、分析技術(shù)實(shí)現(xiàn)、分析缺陷改進(jìn)、提示原理探究的漸進(jìn)式構(gòu)建為講解路線,充分調(diào)動讀者實(shí)踐+思考的極積性。在掌技術(shù)要點(diǎn)、完成實(shí)踐項(xiàng)目的同時,希望讀者明白:可以這樣寫、還可以哪樣實(shí)現(xiàn)、各有什么優(yōu)劣點(diǎn)、原理是什么?
?? 另外,本書中的代碼不是僅為“示例”而編寫的,從每行代碼的注解命名到類與類之間的關(guān)系分析,都是經(jīng)過嚴(yán)謹(jǐn)思考的。“代碼就是程序員的小說”,希望讀者能注重體會本書的代碼質(zhì)量規(guī)范和其中的設(shè)計(jì)思想。
?
讀者對象
?? A.如果你還是徘徊在“Hello Word”左右的菜鳥,請慎選。我誠懇的以我的切身體會告訴你-:學(xué)習(xí)沒有捷徑,且必然是一個歷盡千辛,契而不舍的過程,沒有二~三年的堅(jiān)持是無法入門的;如果你享受這個過程的心態(tài)能經(jīng)受住本書的考驗(yàn),那么你也肯定會變成一只雄鷹!
? B.如果讀者是正在學(xué)習(xí)Java開發(fā)的征戰(zhàn)者,對線程、I/O有些粗淺了解;卻被各種名詞堆砌的WEB(J2EE)技術(shù)晃得眼花繚亂,想去掌握其中那些能以不變應(yīng)萬變、根本性原理性的技術(shù)“干貨”,那么本書就是為你提供的。
? C.如果讀者己有多年的Web開發(fā)工作經(jīng)驗(yàn),卻開始漸漸厭煩千篇一律的CRUD操作、編寫“優(yōu)雅、藝術(shù)”性代碼的機(jī)會越來越少、編碼就像是在各種現(xiàn)成框架中做填空題一樣。本書將為你打開Java技術(shù)的另一精彩世界。
?
??
嗯,還有封底,朋友的鼓勵:)
?
?? 我的博客將陸續(xù)發(fā)布書中的項(xiàng)目實(shí)例和擴(kuò)展案例的源碼文檔.
? 本書大綱:
?? 第1章 JavaKe起步:聊天室的實(shí)現(xiàn) 5
1.1 從零開始實(shí)現(xiàn)公共聊天室 5
1.1.1 網(wǎng)絡(luò)基礎(chǔ)知識 5
1.1.2 一步一步創(chuàng)建簡單服務(wù)器 8
1.1.3 服務(wù)器讀寫消息實(shí)現(xiàn) 11
1.1.4 群聊服務(wù)器實(shí)現(xiàn) 20
1.1.5 群聊客戶端實(shí)現(xiàn) 37
1.2 實(shí)現(xiàn)XMPP通信的IM系統(tǒng) 46
1.2.1 初識XMPP 46
1.2.2 交互流程描述 47
1.2.3 XMPP消息格式定義 49
1.2.4 服務(wù)器端代碼的實(shí)現(xiàn) 50
1.2.5 客戶端代碼的實(shí)現(xiàn) 57
1.2.6 缺陷分析 65
1.3 程序結(jié)構(gòu)性問題分析 65
1.3.1 整體結(jié)構(gòu)設(shè)計(jì)的重要性 65
1.3.2 方法定義時細(xì)節(jié)的處理 66
1.3.3 高耦合的問題 67
1.4 JavaKe項(xiàng)目需求分析 68
1.4.1 JavaKe需求分析 68
1.4.2 JavaKe客戶端的功能 68
1.4.3 JavaKe服務(wù)器端的功能 69
1.4.4 JavaKe系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu) 69
第2章 JavaKe:典型IM系統(tǒng)的實(shí)現(xiàn) 70
2.1 大話通信協(xié)議 70
2.1.1 理解通信協(xié)議的概念 70
2.1.2 定義文件傳輸協(xié)議并實(shí)現(xiàn) 71
2.1.3 實(shí)現(xiàn)文本/文件傳送服務(wù)器 73
2.1.4 實(shí)現(xiàn)文本/文件傳送客戶端 76
2.2 JavaKe通信協(xié)議分析 78
2.2.1 通信消息流程 78
2.2.2 通信數(shù)據(jù)格式協(xié)議 81
2.2.3 具體消息體結(jié)構(gòu)定義 82
2.3 關(guān)鍵技術(shù)點(diǎn)分析 85
2.3.1 打包解包的概念分析 85
2.3.2 重構(gòu)打包解包代碼 86
2.3.3 應(yīng)用監(jiān)聽器模型分離界面和通信層 91
2.3.4 “事件監(jiān)聽”模型應(yīng)用的實(shí)現(xiàn) 95
2.3.5 UI界面與數(shù)據(jù)模型分離 99
2.3.6 定制UI組件示例 107
2.4 JavaKe系統(tǒng)對象分析 113
2.4.1 對象分析思路 113
2.4.2 用戶/分組類定義 116
2.4.3 系統(tǒng)消息對象分析 118
2.4.4 工具類分析 119
2.5 JavaKe服務(wù)器端的實(shí)現(xiàn) 129
2.5.1 服務(wù)器端分析 129
2.5.2 服務(wù)器創(chuàng)建模塊的實(shí)現(xiàn) 130
2.5.3 服務(wù)器通信模塊的實(shí)現(xiàn) 131
2.5.4 服務(wù)器管理模塊的實(shí)現(xiàn) 135
2.5.5 再談分析:編程與軟件開發(fā)的區(qū)別 138
2.6 JavaKe客戶端的實(shí)現(xiàn) 139
2.6.1 客戶端界面分析 139
2.6.2 客戶端流程分析 141
2.6.3 客戶通信模塊類分析 142
2.6.4 客戶UI界面模塊類分析 146
2.7 JavaKe待完成任務(wù)分析 157
2.7.1 功能性完善的問題提出 157
2.7.2 構(gòu)架性完善的問題提出 158
第3章 JavaKe擴(kuò)展:連接移動CMPP網(wǎng)關(guān) 159
3.1 應(yīng)用軟件與移動通信網(wǎng)絡(luò)的關(guān)系 159
3.2 移動增值業(yè)務(wù)解析 161
3.2.1 移動增值業(yè)務(wù)類型說明 161
3.2.2 何謂SP服務(wù)商 162
3.2.3 中國移動MISC平臺介紹 162
3.3 CMPP短信業(yè)務(wù)理解 164
3.3.1 短信的基本屬性 164
3.3.2 移動網(wǎng)絡(luò)中的短信流程 165
3.3.3 SP短信服務(wù)的基本概念 166
3.3.4 SP指令匹配理解 167
3.4 中國移動CMPP通信解析 167
3.4.1 運(yùn)營商短信協(xié)議介紹 167
3.4.2 客戶端與服務(wù)器模型 168
3.4.3 異步消息發(fā)送模式 168
3.4.4 長連接與短連接 169
3.4.5 CMPP消息類型 169
3.4.6 CMPP消息的結(jié)構(gòu) 170
3.4.7 CMPP部分術(shù)語解釋 171
3.5 CMPP短信網(wǎng)關(guān)的實(shí)現(xiàn) 172
3.5.1 CMPP_CONNECT及其應(yīng)答包結(jié)構(gòu)分析 172
3.5.2 CMPP_CONNECT和其應(yīng)答包的定義 174
3.5.3 CMPP應(yīng)答包打包、解包工具類編寫 175
3.5.4 打包過程的說明 179
3.5.5 解包的過程說明 179
3.5.6 字符串?dāng)?shù)據(jù)的讀寫理解 180
3.5.7 ISMG服務(wù)器端實(shí)現(xiàn) 181
3.5.8 MD5摘要計(jì)算原理及應(yīng)用 184
3.5.9 SP端網(wǎng)關(guān)實(shí)現(xiàn) 187
3.5.10 網(wǎng)關(guān)程序調(diào)試技巧 189
3.5.11 網(wǎng)關(guān)關(guān)鍵技術(shù)點(diǎn)分析 192
3.6 應(yīng)用手機(jī)終端收發(fā)短信 195
3.6.1 AT命令簡介及應(yīng)用 195
3.6.2 使用smsLib發(fā)送短信 198
第4章 通信高級技術(shù)分析 203
4.1 通信的安全保證 203
4.1.1 網(wǎng)絡(luò)為什么不安全 203
4.1.2 用Jpcap竊取數(shù)據(jù)包 206
4.1.3 對稱加密與消息摘要 216
4.1.4 非對稱加密機(jī)制 222
4.1.5 SSL安全通道通信示例 232
4.2 JavaKe遠(yuǎn)程控制模塊實(shí)現(xiàn) 241
4.2.1 遠(yuǎn)程控制原理 241
4.2.2 遠(yuǎn)程控制關(guān)鍵技術(shù)解析 243
4.2.3 被控制端實(shí)現(xiàn) 245
4.2.4 控制端實(shí)現(xiàn) 250
4.3 基于UDP通信的設(shè)計(jì) 254
4.3.1 UDP通信示例 254
4.3.2 UDP可靠傳輸?shù)目刂啤?58
4.3.3 UDP組播消息 268
4.3.4 內(nèi)網(wǎng)穿透實(shí)現(xiàn)分析 272
4.4 JavaNIO通信示例 282
4.4.1 NIO基本概念 282
4.4.2 NIO簡單聊天室 291
4.4.3 NIO文件操作 297
4.5 Mina通信框架應(yīng)用 299
4.5.1 關(guān)于Mina框架 299
4.5.2 Mina簡單入門 299
4.5.3 Mina的體系結(jié)構(gòu)總結(jié) 305
4.5.4 使用Mina直接傳送對象 307
4.5.5 擴(kuò)展學(xué)習(xí) 308
4.6 應(yīng)用Memcached實(shí)現(xiàn)緩存系統(tǒng) 309
4.6.1 初識Memcached 309
4.6.2 緩存系統(tǒng)的網(wǎng)絡(luò)構(gòu)架 312
4.6.3 為JavaKe應(yīng)用緩存系統(tǒng) 318
4.7 視頻通信實(shí)現(xiàn) 321
4.7.1 JMF概述 321
4.7.2 JMF使用RTP協(xié)議 328
4.7.3 FMJ視頻聊天室的實(shí)現(xiàn) 334
4.8 遠(yuǎn)程調(diào)用技術(shù):RMI vs Hessian 354
4.8.1 分布式計(jì)算的基本理解 354
4.8.2 分布式體系結(jié)構(gòu)的模型 356
4.8.3 RMI應(yīng)用示例 357
4.8.4 定制RMI端口 364
4.8.5 簡潔的Hessian 366
第5章 JTwitter系統(tǒng)實(shí)現(xiàn)分析 371
5.1 JTwitter是什么? 371
5.1.1 概念分析 371
5.1.2 JTwitter的核心功能需求 373
5.2 客戶端程序功能分析 374
5.2.1 登錄/注冊功能 374
5.2.2 主界面功能 377
5.3 客戶端和服務(wù)器端通信接口設(shè)計(jì) 380
5.3.1 通信接口設(shè)計(jì) 380
5.3.2 通信機(jī)制設(shè)計(jì) 385
5.4 數(shù)據(jù)庫結(jié)構(gòu)分析 386
5.5 Web服務(wù)端功能分析 387
5.6 擴(kuò)展構(gòu)架分析 388
?
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
