【Tech】XMPP IOS客户端(一)

折腾了好多好多天,终于做出来一个很song的可以发语音图片的客户端。记录如下。

首先,需要一个xmpp服务器,这里选择openfire,我这里是直接编译源码后启动的客户端,就不详述了。以下我都以部署在本机的服务器为例。那么服务器的地址应该是http://127.0.0.1:9090。打开这个界面,可以在Users/Groups标签栏下看到用户列表,也可以新建用户。这里以aaa,bbb这两个用户为例,如下图所示:

【Tech】XMPP IOS客户端(一)_第1张图片

然后,下载GITHUB上的XMPPFramework,其中的IPhoneXMPP就是一个简单版的ios客户端,不过这个客户端只实现了基本的显示在线好友,离线好友以及接收文本消息的功能,在它的基础上继续实现收发文本消息,语音消息以及图像。当然,首先要跑通这个demo。

直接在Xcode中打开IphoneXMPP,需要修改工程中的iPhoneXMPPAppDelegate.m文件,定位到 if (![xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]) (我的在318行)这行代码,在这段代码的上面一行加上这句代码: [xmppStream setHostName:@"127.0.0.1"]; 其中的127.0.0.1表示服务器在本机,如果服务器布置在其他机器上,把127.0.0.1改成ip地址即可。

接下来就可以直接运行程序了,会进入如下界面:

【Tech】XMPP IOS客户端(一)_第2张图片【Tech】XMPP IOS客户端(一)_第3张图片

其中bbb就是刚才的用户名,而后面这一串是我机器的域名,可以在http://127.0.0.1:9090上查看,如上右图所示。

登录以后就可以显示它的好友了,如下图所示:

【Tech】XMPP IOS客户端(一)_第4张图片

当然这个demo没有实现添加好友的功能,所以我们要通过已经写好的mac desktop版来加好友,并且实现聊天(好心酸)。

打开DesktopXMPP,直接运行工程,从以下界面登录:

【Tech】XMPP IOS客户端(一)_第5张图片

登录后界面如下:

【Tech】XMPP IOS客户端(一)_第6张图片

双击[email protected],给它发送一条消息,就可以在另一端的ios模拟器上接收到这条消息了。

【Tech】XMPP IOS客户端(一)_第7张图片【Tech】XMPP IOS客户端(一)_第8张图片

以上就是鼻祖级demo的运行方法,可以看到这个demo只实现了最基本的功能,下一篇博文我们来为这个demo实现基本的聊天界面,实现一个长得比较像聊天界面的文本聊天。

参考资料:

[1]https://github.com/robbiehanson/XMPPFramework

[2]http://likid1412.github.io/blog/2014/01/28/ios-xmpp-and-openfire-gettingstarted/

 

你可能感兴趣的:(XMPP)