xmpp开发IM即时通讯系列(一)--总述

    本人近期研究即时通讯功能,社交元素现在已经渗透到各个领域,无论商城、游戏、媒体类等app,为了增加用户之间的交流,都已经开始加入即时通讯功能,可以说即时通讯在未来的手机商业应用领域是不可或缺的。开博客写即时通讯系列的文章不是本人首创,很多大牛都有过类似文章,我写该系列博客的目的:

    一是为了总结自身,积累经验;

    二是因为以前自己在学习过程中拜读过许多大神的高论,使自己在学习开发的过程中受益良多,并被他们无私的精神所感染,决定分享自己的一些浅薄见识,于同行交流,共同促进进步;

    三是因为今天是2016年4月9日,现在网上很多资料的内容不是抄袭,就是时间已经久远,很多开发工具和代码版本都已经非常老旧,新入行的兄弟拿着新代码,参考着旧攻略,总会出现各种各样的问题,另其多走不少弯路。

    综合以上原因,本人决定,在时间允许的情况下,会持续更新该系列文章;每一篇文章中的操作,均为我的实际成功操作,所有工具、代码都是2016年4月9日下载,该系列的操作都是以此为基准,避免同行在交流时因为版本差异做无谓的争执;本文为纯手写,会参考其他文章内容,但绝不恶意抄袭,不作商业用途,仅供分享交流,作者水平有限,只是抱着学习和交流的心态与大家分享,有错误是在所难免的,望各路英雄海涵,有错多多指正。

    当前,即时通讯开发主要分为两种,一是自定义通讯协议开发,这类产品主要用c++服务器,消息形式基于自定义的结构体,效率高,安全应也高,不开源;另一种是XMPP这一类的开源形式组织产生的网络即时通信协议,XMPP已经被IETF国际标准组织完成了标准化工作,标准化的核心结果分为两部分:核心的XML流传输协议和基于XML流传输的即时通讯扩展应用。由于资源所限,本系列使用开源的xmpp协议来开发即时通讯功能,主要包括以下内容:

    一、即时通讯服务器的搭建

    二、移动客户端即时通讯功能的实现

    由于网上已经有很多介绍xmpp的文章,本系列更注重实际实现,以下内容不会着重介绍,如各位有兴趣可以自行了解:

    一、xmpp的概念

    http://my.oschina.net/cuitongliang/blog/194885 (写得很详细)

    二、xmpp的历史

    以前叫jabber,听起来好邪恶。。。

    三、xmpp工作原理

所有从一个客户端到另一个客户端的xmpp消息都要通过xmpp服务器。
    即:client--server--client

1.客户端连接到服务器
2.服务器端利用本地目录系统的证书对其认证
3.客户端制定目标地址,让服务器端告知目标状态
4.服务器端对另一个客户端进行查找、连接并相互认证
5.相互认证后,两个客户端间即可进行交互


    如果再复杂点,要和其他通讯系统交互信息,就需要配置xmpp网关。

xmpp开发IM即时通讯系列(一)--总述_第1张图片

    四、PC端的实现

   有现成的spark,至于进一步的开发嘛,等我有空的。。。

你可能感兴趣的:(独立服务)