xmpp im 开源实现协议适合用来做移动 IM 么

二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
选择了IT,我没有后悔!因为我无比的热爱这个行业给我人生的定位
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
在IETF 中,把IM协议划分为四种协议,即即时信息和出席协议(Instant Messaging and Presence Protocol, IMPP)、出席和即时信息协议(Presence and Instant Messaging Protocol, PRIM)、针对即时信息和出席扩展的会话发起协议(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, SIMPLE),以及可扩展的消息出席协议(XMPP)。最初研发IMPP 也是为了创建一种标准化的协议,但是今天,IMPP 已经发展成为基本协议单元,定义所有即时通信协议应该支持的核心功能集。&地址格式一个实体在XMPP网络结构中被称为一个接点,它有唯一的标示符jabber identifier(JID),即实体地址,用来表示一个Jabber用户,但是也可以表示其他内容,例如一个聊天室.一个有效的JID包括一系列元素:(1)域名(domain identifier);(2)节点(node identifier);(3)源(resource identifier).它的格式是,,类似电子邮件的地址格式.domain用来表示接点不同的设备或位置,这个是可选的,例如a在Server1上注册了一个用户,用户名为doom,那么a的JID就是,在发送消息时,指明就可以了,resource可以不用指定,但a在登录到这个Server时,fl的JID可能是、exodus(如果a用Exodus软件登录),也可能是(如果a用psi软件登录).资源只用来识别属于用户的位置或设备等,一个用户可以同时以多种资源与同一个XMPP服务器连接。&XMPP消息格式XMPP中定义了&&&&&& 3个顶层XML元素: Message、Presence、IQ,下面针对这三种元素进行介绍。&&Message&用于在两个jabber用户之间发送信息。Jsm(jabber会话管理器)负责满足所有的消息,不管目标用户的状态如何。如果用户在线jsm立即提交;否则jsm就存储。To :标识消息的接收方。from : 指发送方的名字或标示(id)oText: 此元素包含了要提交给目标用户的信息。结构如下所示:&&message to=&&type =’chat’&&body& 你好,在忙吗&/body&&/message&&&&Presence&用来表明用户的状态,如:online、away、dnd(请勿打扰)等。当用户离线或改变自己的状态时,就会在stream的上下文中插入一个Presence元素,来表明自身的状态.结构如下所示:&presence&From =‘lily @ /contact’To = ‘yaoman @ /contact'&status& Online &/status&&/presence&&presence&元素可以取下面几种值:Probe :用于向接受消息方法发送特殊的请求subscribe:当接受方状态改变时,自动向发送方发送presence信息。&&& IQ &一种请求/响应机制,从一个实体从发送请求,另外一个实体接受请求,并进行响应.例如,client在stream的上下文中插入一个元素,向Server请求得到自己的好友列表,Server返回一个,里面是请求的结果.&iq & 主要的属性是type。包括:Get :获取当前域值。Set :设置或替换get查询的值。Result :说明成功的响应了先前的查询。Error: 查询和响应中出现的错误。结构如下所示:&iq from =‘lily @ /contact’id=’’ Type=’result’&XMPP工作机制:例如一个终端名字是,通过服务器与其他的用户相连,其他的用户通过服务器建立连接。第一步开始通过发送一个包与服务器取得联系,这一步包含了鉴权,登录等等。第二步获取了他的联系人列表,通过向服务器发送字段请求,按照下面的协议。第三步发送了一个请求到服务器,然后会将这个信息广播到他的所有好友。第四步如果的联系人都在线,就会将回复给,告知自己的状态。第五步和开始交换信息,进行聊天。以文档的观点来看,客户端或服务器发送的所有文本连缀在一起,从到构成了一个完整的文档。其中的标签就是所谓的。在与中间的那些这样的元素就是所谓的(节)。核心协议通信的基本模式就是先建立一个,然后协商一堆安全之类的东西,中间通信过程就是客户端发送,一个接一个的。服务器根据客户端发送的信息以及程序的逻辑,发送给客户端。但是这个过程并不是一问一答的,任何时候都有可能从一个方发信给另外一方。通信的最后阶段是关闭流,关闭连接。所以这种方式和传统的http不一样了!传统的http是请求之后,去服务器回去数据而xmpp是,服务器给客户端数据!
阅读(3365)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'XMPP协议工作原理',
blogAbstract:'看了网上有很多的人在介绍XMPP协议。xmpp是什么什么的!在这里我将一下自己对xmpp的感想!在IETF 中,把IM协议划分为四种协议,即即时信息和出席协议(Instant Messaging and Presence Protocol, IMPP)、出席和即时信息协议(Presence and Instant Messaging Protocol, PRIM)、针对即时信息和出席扩展的会话发起协议(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, S',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'选择了IT,我没有后悔!因为我无比的热爱这个行业给我人生的定位',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}XMPP 协议适合用来做移动 IM 么_百度知道
XMPP 协议适合用来做移动 IM 么
XMPP 协议主要点放管协议、客户端 Server 端都熟实现案实际受 XMPP 协议聊程我使用 asmack library + OpenFire 服务器搭建套完整测试环境OpenFire 采用 Java 发基于 XMPP 协议 源实协作服务器安装使用都非简单自带内置存储数据库(使用独立数据库Mysql等)并利用 Web 进行管理其类似源系统eJabber、Tigase 经用根据我前经验些源系统能支持并发连接数都高要超<img class="word-replace" src="/api/getdecpic?picenc=0af万用户同连说快达单机瓶颈候般都需要水平拆拆服务器间 session 同步负担幅加重于性能带抵消所些系统都拿做研究测试用少见规模产环境使用
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁基于XMPP协议的手机多方多端即时通讯方案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于XMPP协议的手机多方多端即时通讯方案
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩18页未读,继续阅读
你可能喜欢什么是XMPP,主要是用来做什么,在IM中重要么?
按投票排序
消息通讯协议,可以说是IM的核心机制,当然还可以用来实现很多需要通讯实现的功能,例如,消息推送,用户在线状态等等,可扩展性非常强
xmpp只是一种即时通讯协议,比如报文格式什么的。
已有帐号?
社交帐号登录
无法登录?
社交帐号登录}

我要回帖

更多关于 im 与xmpp 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信