文章目录
  1. 1. 关于即时通信
  2. 2. 关于XMPP
    1. 2.1. 优点
    2. 2.2. XMPP协议通过HTTP传输
    3. 2.3. XMPP Servers
    4. 2.4. XMPP Clients And XMPP Libraries

关于即时通信


即时通讯 (Instant Messaging, 简称IM)是一个实时通信系统,允许两个人或多人使用网络即时的传递文字消息、文件、语音与视频的交流。

四大主流IM协议: 可扩展通讯和表示协议(XMPP)、即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE),其中,XMPP协议最为灵活。

关于XMPP


XMPP is the open standard for messaging and presence

XMPP (Extensible Messaging and Presence Protocol,前称Jabber)是一种以XML为基础的开放式即时通讯协议,是经有互联网工程工作小组(IETF)通过的互联网标准。

XMPP通信方式

优点


0、开放

XMPP协议是自由、开放、公开的,并且易于了解。而且在客户端、服务器、组件、源代码等方面,都已经各自有多种实现。

1、分布式

XMPP网络的架构和电子邮件十分相像;XMPP核心通信方式是先创建一个stream,XMPP以TCP传递XML数据流,没有中央主服务器。任何人都可以运行自己的XMPP服务器,使个人及组织能够掌控他们的即时传讯体验。

XMPP协议通过HTTP传输


在原来的规格,XMPP协议可以使用HTTP的方式有两种:轮询(polling)与绑定(binding)。轮询现在不推荐,基本上,轮询意味着hTTP邮件存储在服务器端的数据库上,客户端必须一再地以HTTP的GET和POST的方式去抓取(以及刊出)其中的消息。然而使用绑定的方式时,客户端会保留一个长存在的HTTP链接,等等一旦服务器有新的消息时,就立刻接受消息。因为轮询的结果往往是服务器没有新消息,这种推送的通知模式比轮询的方式更有效率。
由于客户端使用HTTP,大多数防火墙允许客户端获取和留言没有任何障碍。因此,即使使用XMPP协议的TCP端口被拦截,服务器也能正常地倾听一般的HTTP端口,其上的消息也能保持畅通。

XMPP Servers

关于XMPP的服务器和客户端平台版本有很多,大家比较常用的有 Openfireejabberdtigase ,它们可以兼容多个平台。

XMPP Clients And XMPP Libraries

Because XMPP protocol is open source. The XMPP Clients for every platform and the XMPP Libraries for every language.

今天谈一谈 基于iOS的 XMPPFramework,不谈基于Andorid的 Smack,

1
2
3
#import <XMPP.h> //基本类在这个里面
#import <XMPPRoster.h>//好友管理类
#import <XMPPRosterCoreDataStorage.h>//管理好友数据库存储

参考资料


0、XMPP

1、主流IM协议简介

2、移动IM开发那些事

3、XMPP即时通信之一(服务器篇)

4、Public XMPP Server Directory

5、弃用QQ和微信!全面转向基于XMPP(Jabber)的即时聊天

6、移动 IM 学习笔记

文章目录
  1. 1. 关于即时通信
  2. 2. 关于XMPP
    1. 2.1. 优点
    2. 2.2. XMPP协议通过HTTP传输
    3. 2.3. XMPP Servers
    4. 2.4. XMPP Clients And XMPP Libraries