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

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