微博是这样炼成的胡东锋作者简介、书籍目录、内容摘要、编辑推荐
本书结合项目实践、构架设计、行业知识介绍和学习方法分析为一体,讲解了从原始的命令行聊天室到流行的Twitter系统的技术实现和构架分析。本书将带领读者分析完成具有行业代表性的仿QQ IM项目、中国移动CMPP网关项目、仿Twitter系统三大典型项目的构架设计和实现。在具体的项目实践过程中,融入了TCP/IP编程、设计模式、UDP编程、P2P通信、通信加密技术、Java NIO技术、JMF视频通信、RMI远程调用、Hessian Web Service、Memcached缓存系统等技术专题。目的是通过由浅入深、项目驱动的实践分析,让读者深入掌握Java网络编程和网络通信项目的构架设计,并引导启发读者能自行分析技术表象背后的原理。 本书面向有一定Java编程基础的中高级读者和初入行的一线软件开发者,也适合作为高等院校相关专业师生的参考书。
作者简介
胡东锋,Hi,你好,我是本书作者胡东锋,男,1979年出生,现任蓝杰实训技术总监,致力于软件人才的开发和教育事业。
书籍目录
绪论 第1章 JavaKe起步:聊天室的实现 1.1 从零开始实现公共聊天室 1.1.1 网络基础知识 1.1.2 一步一步创建简单服务器 1.1.3 服务器读写消息实现 1.1.4 群聊服务器实现 1.1.5 群聊客户端实现 1.2 实现XMPP通信的IM系统 1.2.1 初识XMPP 1.2.2 交互流程描述 1.2.3 XMPP消息格式定义 1.2.4 服务器端代码的实现 1.2.5 客户端代码的实现 1.2.6 缺陷分析 1.3 程序结构性问题分析 1.3.1 整体结构设计的重要性 1.3.2 方法定义时细节的处理 1.3.3 高耦合的问题 1.4 JavaKe项目需求分析 1.4.1 JavaKe需求分析 1.4.2 JavaKe客户端的功能 1.4.3 JavaKe服务器端的功能 1.4.4 JavaKe系统网络结构 第2章 JavaKe:典型IM系统的实现 2.1 大话通信协议 2.1.1 理解通信协议的概念 2.1.2 定义文件传输协议并实现 2.1.3 实现文本/文件传送服务器 2.1.4 实现文本/文件传送客户端 2.2 JavaKe通信协议分析 2.2.1 通信消息流程 2.2.2 通信数据格式协议 2.2.3 具体消息体结构定义 2.3 关键技术点分析 2.3.1 打包解包的概念分析 2.3.2 重构打包解包代码 2.3.3 应用监听器模型分离界面和通信层 2.3.4 “事件监听”模型应用的实现 2.3.5 UI界面与数据模型分离 2.3.6 定制UI组件示例 2.4 JavaKe系统对象分析 2.4.1 对象分析思路 2.4.2 用户/分组类定义 2.4.3 系统消息对象分析 2.4.4 工具类分析 2.5 JavaKe服务器端的实现 2.5.1 服务器端分析 2.5.2 服务器创建模块的实现 2.5.3 服务器通信模块的实现 2.5.4 服务器管理模块的实现 2.5.5 再谈分析:编程与软件开发的区别 2.6 JavaKe客户端的实现 2.6.1 客户端界面分析 2.6.2 客户端流程分析 2.6.3 客户通信模块类分析 2.6.4 客户UI界面模块类分析 2.7 JavaKe待完成任务分析 2.7.1 功能性完善的问题提出 2.7.2 构架性完善的问题提出 第3章 JavaKe扩展:连接移动CMPP网关 第4章 通信高级技术分析 第5章 JTwitter系统实现分析
章节摘录
7.高效的数据库设计 SP端网关所要用到数据库结构较为简单,主要是接收到的消息、已发送消息和状态报告消息的保存。但最好考虑到大数据流量的情况,例如100条消息/秒时,数据库操作可能就是3~400秒/次。大数据量情况下,表结构和用途要简洁,尽量设计一个表的用途仅用作插入或仅用做查询。 另外可以设计为每天自动生成一张表以存储数据,这样就可以减少单表的数据存储量。 8.可配置各种参数和便捷的接口提供 一个设计良好的短信网关,不只是一个简单的通信程序而已,要考虑到业务模块的接口、第三方收发接口的提供,还要考虑到数据库性能优化。与业务模块的对接,可以通过数据库表提供数据库形式的接口,也可以通过Web Service以独立Web服务器的方式提供第三方收发接口。在提供接口的同时,还必须考虑到收发权限的安全性,例如通过IP验证、口令加密等综合实现。 CMPP是中国移动为企业合作商提供的短信收发计费接口,同样中国联通、中国电信、中国网通也有为企业提供的类似通信接口,其技术特点和CMPP类似,如果读者有兴趣,可查看其官方的协议文档。 但作为个人用户,想通过运营商的接口接入,基本上是不可能。想让你的JavaKe也能通过移动网络收发短信,怎么办呢?接下来将解决这个问题。
媒体关注与评论
大学毕业设计时,我用Turbo C写了1万多行代码,感觉受益匪浅。但是,现在很多大学生4年下来都写不了多少代码,计算机是一门偏工程的学科,如果你不多动手,要想成为软件高手,那是天方夜谭。这本书引领读者设计和实现的3个典型项目极具实战性,值得有志成为软件高手的同学们研读。 ——罗铁庚 博士 博赛软件CEO 身边做老师的朋友很多,东锋算是极有天赋的一位。师者,传道授业解惑也,相信本书丰富实用的内容以及通俗易懂的语言能带给你莫大的收获,它会告诉你一个程序梦想是如何被激发又是如何被炼成的。 ——王冀 西塞教育CEO 很喜欢胡老师讲课的方式:在学习过程中提出问题,提出假设,然后通过实践检验理论,再对理论进行总结和理解。关手这—点大家在本书中能深刻地体会到。本书的案例有较高的技术难度,但会提升读者的开发能力和对原理的理解。 ——郭群芳 腾讯科技 一个资深的Java研究者,一个广读古今中外名著的文人,一个身为老师却和我们以兄弟相称的人,一个教我们Java,教我怎们样进步,永不放弃的人——这就是胡老师给我的印象!相信本书能带你走进“Java技术的另一个精彩世界”!我向大家极力推荐此书,走近Java,走近Twitter。 ——邓小明 搜狐畅游 胡老师多年的工作、学习和实践经验,对网络通信的认识在本书中表现得淋漓尽致,令人折服。本书通过一个个具体的项目实践,让我们学到的不侧又是网络通信方面的知识,同时也让我们了解到?[乍为代码工作者应该注意的很多细节,以及作为一名优秀程序员所应具备的设计思想。本书值得一看! ——李嘉鹏 支付宝
编辑推荐
BBS、IM、微博,互联网到移动互联网的交流平台将更加深刻地改变世界。 这些社会现象后面的技术本质是如何炼成的? 《微博是这样炼成的:从聊天室到Twitter的技术实现》为你抽丝剥茧,揭晓答案。 140字推爆信息世界 Java网络通信成就技术梦想