您的位置:首页 > 移动开发 > IOS开发

基于XMPP协议的简单IM实现(iOS)(含Demo)

2016-02-16 22:16 495 查看


基于XMPP协议的简单IM实现(iOS)(含Demo)

分类: IOS-XMPP协议学习2013-04-27
16:44 1216人阅读 评论(16) 收藏 举报

iOSXMPPIM

【 **********************************************************************************

有网友在资源那留言,但是自己无法评论自己的资源,故在此说明:

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,有不足之处望指点~!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: