搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
微博是这样炼成的:从聊天室到Twitter的技术实现
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115224859
  • 作      者:
    胡东锋编著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2010
收藏
编辑推荐
  BBS、IM、微博,互联网到移动互联网的交流平台将更加深刻地改变世界。
  这些社会现象后面的技术本质是如何炼成的?
  《微博是这样炼成的:从聊天室到Twitter的技术实现》为你抽丝剥茧,揭晓答案。
  140字推爆信息世界
  Java网络通信成就技术梦想
展开
作者简介
  胡东锋,Hi,你好,我是本书作者胡东锋,男,1979年出生,现任蓝杰实训技术总监,致力于软件人才的开发和教育事业。
展开
内容介绍
  《微博是这样炼成的:从聊天室到Twitter的技术实现》结合项目实践、构架设计、行业知识介绍和学习方法分析为一体,讲解了从原始的命令行聊天室到流行的Twitter系统的技术实现和构架分析。《微博是这样炼成的:从聊天室到Twitter的技术实现》将带领读者分析完成具有行业代表性的仿QQ IM项目、中国移动CMPP网关项目、仿Twitter系统三大典型项目的构架设计和实现。在具体的项目实践过程中,融入了TCP/IP编程、设计模式、UDP编程、P2P通信、通信加密技术、Java NIO技术、JMF视频通信、RMI远程调用、Hessian Web Service、Memcached缓存系统等技术专题。目的是通过由浅入深、项目驱动的实践分析,让读者深入掌握Java网络编程和网络通信项目的构架设计,并引导启发读者能自行分析技术表象背后的原理。
  《微博是这样炼成的:从聊天室到Twitter的技术实现》面向有一定Java编程基础的中高级读者和初入行的一线软件开发者,也适合作为高等院校相关专业师生的参考书。
展开
精彩书评
  大学毕业设计时,我用Turbo C写了1万多行代码,感觉受益匪浅。但是,现在很多大学生4年下来都写不了多少代码,计算机是一门偏工程的学科,如果你不多动手,要想成为软件高手,那是天方夜谭。这本书引领读者设计和实现的3个典型项目极具实战性,值得有志成为软件高手的同学们研读。
  ——罗铁庚 博士 博赛软件CEO
  身边做老师的朋友很多,东锋算是极有天赋的一位。师者,传道授业解惑也,相信本书丰富实用的内容以及通俗易懂的语言能带给你莫大的收获,它会告诉你一个程序梦想是如何被激发又是如何被炼成的。
  ——王冀 西塞教育CEO
  很喜欢胡老师讲课的方式:在学习过程中提出问题,提出假设,然后通过实践检验理论,再对理论进行总结和理解。关手这—点大家在本书中能深刻地体会到。本书的案例有较高的技术难度,但会提升读者的开发能力和对原理的理解。
  ——郭群芳 腾讯科技
  一个资深的Java研究者,一个广读古今中外名著的文人,一个身为老师却和我们以兄弟相称的人,一个教我们Java,教我怎们样进步,永不放弃的人——这就是胡老师给我的印象!相信本书能带你走进“Java技术的另一个精彩世界”!我向大家极力推荐此书,走近Java,走近Twitter。
  ——邓小明 搜狐畅游
  胡老师多年的工作、学习和实践经验,对网络通信的认识在本书中表现得淋漓尽致,令人折服。本书通过一个个具体的项目实践,让我们学到的不侧又是网络通信方面的知识,同时也让我们了解到?[乍为代码工作者应该注意的很多细节,以及作为一名优秀程序员所应具备的设计思想。本书值得一看!
  ——李嘉鹏 支付宝
展开
精彩书摘
  7.高效的数据库设计
  SP端网关所要用到数据库结构较为简单,主要是接收到的消息、已发送消息和状态报告消息的保存。但最好考虑到大数据流量的情况,例如100条消息/秒时,数据库操作可能就是3~400秒/次。大数据量情况下,表结构和用途要简洁,尽量设计一个表的用途仅用作插入或仅用做查询。
  另外可以设计为每天自动生成一张表以存储数据,这样就可以减少单表的数据存储量。
  8.可配置各种参数和便捷的接口提供
  一个设计良好的短信网关,不只是一个简单的通信程序而已,要考虑到业务模块的接口、第三方收发接口的提供,还要考虑到数据库性能优化。与业务模块的对接,可以通过数据库表提供数据库形式的接口,也可以通过Web Service以独立Web服务器的方式提供第三方收发接口。在提供接口的同时,还必须考虑到收发权限的安全性,例如通过IP验证、口令加密等综合实现。
  CMPP是中国移动为企业合作商提供的短信收发计费接口,同样中国联通、中国电信、中国网通也有为企业提供的类似通信接口,其技术特点和CMPP类似,如果读者有兴趣,可查看其官方的协议文档。
  但作为个人用户,想通过运营商的接口接入,基本上是不可能。想让你的JavaKe也能通过移动网络收发短信,怎么办呢?接下来将解决这个问题。
展开
目录
绪论 1
第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
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证