我的新书《微博是这样炼成的:从聊天室到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
- 大小: 48.7 KB
- 大小: 112.9 KB
分享到:
相关推荐
《微博是这样炼成的:从聊天室到Twitter的技术实现》这本书主要探讨了社交媒体平台从早期的聊天室到现代的Twitter式服务的发展历程,并详细解析了背后的技术实现。随书项目源码则提供了实践这些技术的实例,帮助读者...
在新浪微博的实际应用中,使用了轻量级的消息队列产品,如Twitter的Kestrel、Erlang实现的RabbitMQ以及广泛使用的Memcacheq。 异步设计不仅降低了发表操作的复杂性,还确保了系统的响应速度和稳定性,从而能够有效...
根据指定的关键字,到新浪微博Wap站爬取相应的微博信息。 微博信息: news_id:需要爬取新闻的ID(老师后期给定) u_id:发布微博用户ID u_name:发布微博用户昵称 twitter_id:微博ID content:微博内容 twitter_time...
NULL 博文链接:https://javafound.iteye.com/blog/704141
本文将探讨从早期的聊天室到Twitter的技术演进,并着重讲解Java在构建微博平台中的作用,以及如何利用Memcached实现高效的缓存系统。 在互联网的早期,人们通过聊天室进行实时交流,但这种形式的信息传播具有局限性...
在微博和知乎这样的社交平台上,feed流的实现主要涉及到两个核心环节:生成和更新。首先,我们需要理解两种基本的通信模式——推模式和拉模式。 1. 推模式(Push Mode): 推模式是指当某个用户发布新的动态时,...
《新浪微博与Twitter:你必须了解的5个关键差异》 在当今全球社交媒体的舞台上,新浪微博和Twitter无疑是最具影响力的两大平台。尽管它们在功能和性质上有许多相似之处,但两者之间存在着显著的区别,这些差异使得...
node-weibo 是一个 JavaScript 的微博 SDK,支持浏览器和基于 Node.js 环境运行。 支持的微博系统包括: twitter: http://twitter.com/ facebook: http://facebook.com/ fanfou: http://fanfou.com/ ...
从新浪微博的转型以及对Twitter商业模式的反思中,我们可以总结出几个关键的知识点: ### 1. 社交媒体平台的商业模式探索 - **新浪微博的转型**:新浪微博试图模仿Facebook的商业模式,通过增加更多的社交功能(如...
PHP 开源 Twitter微博代码。 当下流行的Twitter的PHP开源代码。MySQL数据库。
- **重大事件的传播与讨论**:近年来,从打拐行动到郭美美事件,再到高铁事故等重大事件,中文微博都发挥了关键作用。这些事件不仅得到了快速传播,更重要的是通过微博平台上的讨论,凝聚了公众的力量,促使相关部门...
评论:中国微博媒体属性强于Twitter.docx
### 校园微博系统的设置与实现 #### 一、引言 随着互联网技术的发展和社会信息化程度的不断提高,微博作为一种新兴的社交媒体形式迅速在全球范围内普及开来。微博不仅改变了人们的社交方式,也逐渐渗透到了教育...
【标题】:“分享到新浪,腾讯微博” 在互联网社交领域,分享内容到新浪和腾讯微博是一种常见的交流方式。这两个平台都是中国领先的社交媒体平台,让用户能够实时发布信息、观点和生活点滴,同时也支持与朋友们互动...
JavaScript实现一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等 JavaScript实现一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook...
未解决如何使用MATLAB发一条微博-twitter.rar 本帖最后由 jinkeluck 于 2013-4-1 09:33 编辑 看到论坛上有人用MATLAB发邮件,我突发奇想,能不能用MATLAB发送一条新浪微博呢。马上Google之,未果,却发现国外...
本项目"Android-简单的Twitter客户端只是为了发微博"就是一个很好的示例,展示了如何使用Kotlin来构建一个功能型的Android应用。以下我们将深入探讨该项目中涉及的关键知识点。 1. **Kotlin基础** - **变量声明**...
腾讯新浪微博分享是将内容从一个应用程序推送到腾讯微博和新浪微博这两个平台的功能。这个功能的实现通常涉及到OAuth 2.0授权协议,这是一种广泛用于安全身份验证的标准。下面将详细讨论相关知识点。 首先,我们来...
【标题】:基于B/S模式的Twitter微博设计 【描述】:本论文主要探讨的是如何设计一个基于浏览器/服务器(B/S)模式的Twitter...本论文详细介绍了从需求分析到系统实现的全过程,为类似项目的开发提供了参考和借鉴。