IM概览

即时通讯(IM)软件是我们最频繁使用的工具之一。常见的QQ(TIM)、微信都是IM大家族的成员。

与其他网络通讯方式相比,IM有其独特的技术要点。IM是即时双向请求传输(Instant Duplex Separation),不同于:HTTP的单向请求(HTTP2 扩展了双向传输)、Email的非及时双向传输。IM的技术要点决定了其协议架构与技术实现不同于传统网站设计。这也是刚开始接触IM的朋友需要适应的思维转化。

书目章节

虽然我们生活中经常使用IM软件,不过通常并没有接触底层技术。考虑IM有别于传统软件的特点,本书各章内容安排如下。对于有基础的朋友可以

第一章从基础的XMPP协议(Extensible Messaging and Presence Protocol)入门。详细讨论XMPP和XEP(XMPP Extension Protocol)。分析IM系统架构,并借助开源软件搭建自己的IM系统。

第二章讨论实际项目需求。分析现实项目业务,扩展XMPP,编写服务扩展插件。

第三章讨论流量优化,XMPP与其他协议间转化,编写XMPP Gateway服务。

第四章讨论分布式服务部署与负载均衡。

第五章讨论物联网环境中自组网与IM。

技术选型与开发环境

XMPP开源服务端:Openfire(Java语言)。其他选择:Jabberd2/Jabberd (C语言),ejabberd(Erlang),tigase。

XMPP开源客户端:Converse.js(JavaScript)。其他选择:Smack(Java)、Candy(JavaScript)、Stanza.io(JavaScript)。

开发环境:Windows 7

背景扩展

这里会补充一些关于IM的历史脉络和故事。

results matching ""

    No results matching ""