1.XMPP的MySQL和openfire环境配置
2.XmppFramework框架导入和介绍
XMPP的MySQL和openfire环境配置
1.下载mysql安装
打开MySQL安装包如下
先后分别安装
mysql-5.6.12-osx10.7-x86_64.pkg:MySQL的主要程序包;
MySQL_StartupItem.pkg:MySQL的启动项;
MySQL.prefPane:MySQL的偏好设置,主要用来启动MySQL服务。
2.修改MySQL密码
*进入偏好设置中停止mysql服务
*默认安装的MySQL的账户是root 密码为空
在终端通过下面命令登陆MySql,(初始密码为空直接点回车)
mysql -u root -p
修改密码:
mysqladmin -u root password "123456"
3.安装MySQL图形化管理工具mysql-workbench
*创建新数据库
4.安装Java环境
*openfire服务器是基于Java语言写的。
JDK下载 安装
安装好后再终端输入java -version就可以查看是否已经安装了Java环境
5.下载安装openfire
openfire下载 安装
*回到mysql_workbench来配置数据库
打开Finder, command+shift+G
有个红色的标记说明没有权限访问,只需要右键显示简介,将锁打开,设置一下就行了
权限都改为读写
*mysql workbench中,双击"openfire",处于选中状态,然后点击菜单栏的"File",将刚才的脚本导入执行
点击??按钮
安装好后重新打开系统偏好设置,找到openfire,点击打开跳转到浏览器,进行openfire设置
选择简体中文
下面本机可以用127.0.0.1,应该默认就可以
继续
继续
用户名和密码填mysql里设置的用户名和密码。注意图中支出的配置
设置完成后,会要求重新设置openfire的密码,然后就可以用用户名和密码登陆了
安装上述完成
MySQL的用户名和密码是 root 123456
openfire的用户名和密码是 admin 123456
下载测试用客户端spark
可以用openfire新建的用户名和密码登陆,也可以自己在客户端注册
注:mac系统下openfire非常不稳定,只做练习使用
XmppFramework框架导入和介绍
1.网上下载XmppFramework框架导入
2.添加框架依赖
3.修改Build Settings
Header Search Paths 添加 /usr/include/libxml2
Library Search Paths 添加 $(PROJECT_DIR)/douniwanxia/Libs/XMPPFramework/Vendor/libidn
上述$(PROJECT_DIR)是整个项目路径;douniwanxia/Libs是我在该项目下放xmppframework的路径
框架内的大致介绍
Authentication 授权,身份验证
Categories 分类
Core 核心
Extensions 扩展
Utilities 工具
Vendor 第三方库
在Extensions中:
CoreDataStorage coreData存储
Reconnect 重新连接
Roster 好友管理
有数据表 XMPPRoster 用来管理用户
管理用户的类 XMPPUserCoreDataStorageObject
SystemInputActivityMonitor 系统输入的活动监控
常用的模块:
XEP - 0009 RPC(类似黑客技术)
XEP - 0012 最后的活动(判断上线,离开断开)
XEP - 0045 多人聊天
XEP - 0054 名片-个人信息设置
XEP - 0065 sockets5字节流
XEP - 0066 二进制数据传输(特殊信息的发送)
XEP - 0085 聊天状态通知
XEP - 0136 聊天记录归档
其中有数据表 XMPPMessageArchiving
取出当前信息的类 XMPPMessageArchiving_Message_CoreDataObject
XEP - 0153 基于名片的头像
XEP - 0199 xmpp ping (用来ping服务器和ping自己)
XEP - 0335 json容器(可能以后某些信息传输将用json格式)
在core中:
XMPPElement 是一个基类 ,延展出三个子类
XMPPIQ 请求 (用户登录,用户注册,添加好友等)
XMPPMessage 消息(用来发各种消息等)
XMPPPresence 展现(用户上线下线提示等)
XMPPStream 流,非常常用,大部分类的加载都在写在流的懒加载里
在vender中:
kissXML 用于xml的主要解析框架
XMPP中常用对象们
- XMPPStream:xmpp基础服务类
- XMPPRoster:好友列表类
- XMPPRosterCoreDataStorage:好友列表(用户账号)在core data中的操作类
- XMPPvCardCoreDataStorage:好友名片(昵称,签名,性别,年龄等信息)在core data中的操作类
- XMPPvCardTemp:好友名片实体类,从数据库里取出来的都是它
- xmppvCardAvatarModule:好友头像
- XMPPReconnect:如果失去连接,自动重连
- XMPPRoom:提供多用户聊天支持
- XMPPPubSub:发布订阅