一、简述
用xmpp实现即时通讯,主要在与服务器的搭建,以及通讯环境的的搭建。
主要用到了一下几个软件和第三方的东西:
首先,的搭建xmpp集成开发环境:
这个软件自动集成了MySQL和Apache服务器,以及ftp服务(根据名字推出的,如有不对,还请指点)。
服务器搭建好后,只是建好了即时通讯模块所需的数据库,还需要搭建Java环境和openfire环境。
而mac系统一般自带Java包,但是这里注意了,openfire所需要的Java的版本不同,在这里我在电脑上装了jdk8
在安装了之后,在系统的偏好设置里,则会出现以下图标:
点击openfire则会弹出如下界面,如果服务没有运行的时候,需要在命令行去解决。
具体的解决办法,稍后再说。
点击右侧的按钮,则会弹出网页如下:
由于在配置的时候没有截图,所以上了一张完成版的图片
在图中第一处勾画的地方,一个参数是服务器域名,127.0.0.1(这个是在数据库里设置的),第二个参数是数据库的名称。
第二个划横线的地方,是数据库的用户名,在应道设置里也会完成。注意用户名和密码的输入。
在完成设置后,打开数据库可以看到,新建的数据库里多了好多张表。
回顾一下数据库的建库方式,具体配置比较简单,直接装好xmpp就可以使用。
点击创建就可以创建数据库。
环境搭建好了之后,就可以用spark登录测试了。
二、在工程中实现
首先,在工程中配置:
导入库文件和第三方:
需要在searchPath中做如下配置
然后就可以开始编程了。
pch文件:
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
//xmpp通道
#import "XMPP.h"
#import "XMPPRosterCoreDataStorage.h"
#import "XMPPTools.h"
// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
#define kHostName @"127.0.0.1"
#define kHostPort 5222
#endif /* PrefixHeader_pch */
具体编程实现,见下一篇博文。