【 **********************************************************************************
有网友在资源那留言,但是自己无法评论自己的资源,故在此说明:
1、当初只是简单的学习XMPP,通过自己做了个小Demo来了解其原理,进攻各位初识XMPP的参考
2、服务器采用了openfire的朋友,遇到了诸如列表无法获取等问题,我没试过,会抽时间去实践下,到时候和大家一起探讨,不过还是建议多看看正文前面推荐2位大神的BLOG,先对原理有所认识先~!
3、多谢大家指正,共同探讨,一起进步~!嘿嘿~!
********************************************************************************** 】
进入正题前,首先感谢下 @nomousewch 和 @kangkangz4 两位在我学习过程中对我的帮助,正是参见了两位的Blog,我才完成对XMPP协议的初步学习。
若想了解XMPP协议的简介,请查看 @nomousewch 的Blog。以下主要讲解我如何实现一个基于XMPP的简单即时聊天Demo。
一、XMPP服务器
首先我们需要一个XMPP服务器,在此Demo中,我采用主机作为服务器来使用。
到 XMPP Servers 下载 ejabberd 这个服务器。
我下载的是 ejabberd-2.1.11-darwin-x86-installer.app.zip 这个版本,便于在Mac 下安装:
然后解压安装,一步一步的进行既可。当到达填写服务器域名时,会有个默认值,即你机子的名字,默认既可,不用更改:
然后就是 管理员用户名的填写和密码的填写,这些值自己填写后一定要记住,因为每次登陆服务器需要认证填写。
安装成功后,在安装目录下点击运行 start :
注意:运行前,请检查好自己的网络设置。(我之前老打不开一下界面的网页,提示错误,后来换了个网络就OK,怀疑是因为翻墙的原因)。
点击 admin interface 后,会要求输入用户名 (格式: 管理员名 @ 服务器域名.local )和密码。然后进入到服务器管理界面。
点击 虚拟主机,你会看到一个列表,点击主机列下的服务器域名.local 连接,会展开左侧的列表
点击用户,你就可以创建几个用户,便于之后的数据交互。
以上就是服务器的搭建。下面简单讲解下客户端。
二、XMPP客户端
这里说的客户端,当然不是我们稍后会讲的基于xmpp framework实现的Demo,而是将和我们Demo交互信息的另一方客户端。请到 XMPP Clients 下载 Adium 这个服务器(当然,你也可以选择其他的客户端,只要支持Mac OS X 既可。
下载后按提示一步一步安装既可。注:你可以添加账号,选择XMPP类型,输入完整的账号及密码,你可以添加多个刚刚你在服务器上创建的用户,同时,你可以选择联系人来互设好友,便于之后的数据交互。
三、基于XMPP协议的简单 IM 实现
1、首先到Git 上下载 xmppframework 框架
2、新建一个项目,将以下文件加入工程中,记住选择Copy
加入所需框架,如下,并设置好路径:
关于代码的解释,望见谅,详见 源码 ,代码结构没怎么优化,忘见谅。
最后的效果图如下:
初步学习XMPP,有不足之处望指点~!