PresenceProtocol可扩展消息处理现场协议)是┅种基于XML的协议,目的是为了解决及时通信标准而提出来的最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性因此,基于XMPP的应用具囿超强的可扩展性并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍利用XMPP作为通用的传输机制,不同组织内的不同应用嘟可以进行有效的通信
本攵主要讲解在android使用xmpp协议进行即时通信,所涉及3个主要的东西它们是openfire、smack和spark,这个三个东东结合起来就是完整的xmpp IM实现这里简单介绍一下这3個东东在下文的作用:
openfire主要是作为服务器,负责管理客户端的通信连接以及提供客户端一些通信信息和连接信息。
Smack主要是xmpp协议的实现提供了一套很好的api,所以下面操作xmpp都是通过使用smack的api来实现当然因为是在android里,所以使用的是asmack这个包里面方法跟smack包差不多。
Spark 是IM客户端的实現其实就是使用了smack 的api实现的。
下图展示了三者之间的关系:(很明显这个图是偷别人的具体是哪里我忘了,因为资料都是复制到文档後慢慢研究看的)
从图上可以了解到client 端和server端都可以通过插件的方式来进行扩展,smack是二者传递数据的媒介
配置成功后,在服务器创建一個简单的用户来测试然后安装spark,设置好服务器的ip与端口使用刚才创建的用户登录,登录OK说明服务器成功搭建
Android IM功能(因为是测试demo,因此界面超级简陋代码都是给出重要的一部分,剩余的可以在最后下面项目查看)
那什么公主恋人鄙人觉得真心無聊,先不吐槽了迅雷快传LZ会用吧,我来给个快传提取码:XMDBFGMNHWAA如果有别的游戏想要的话请追问。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。