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

 
*回到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:发布订阅

iOS,XMPP本地环境搭建和框架使用的更多相关文章

  1. IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  2. 【1】windows下IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  3. Sonar本地环境搭建

    一个新项目准备上线提测了,为了在提测之前做一下代码走查,同时了解项目目前的质量情况,就在本地搭建了一套sonar环境.搭建的过程中遇到了很多问题,sonar官方已不再维护Eclipse的svn插件,所 ...

  4. Docker下kafka学习三部曲之二:本地环境搭建

    在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来 ...

  5. .NET Exceptionless 日志收集框架本地环境搭建

    一.简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等 ...

  6. php开发环境搭建——laravel框架,apache服务器,git版本控制

    本文主要阐述做项目前的开发环境安装——后端为php,前端采用grunt进行自动化构建.具体介绍了windows平台下采用apache运行php的环境搭建,以及git工具安装.写得有点粗糙,但过程完整, ...

  7. AngularJS2之本地环境搭建

    前言:本来准备初探AngularJS2,结果成了复习git和再探node git的两个常见问题:一.github上传时出现error: src refspec master does not matc ...

  8. Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  9. 以太坊remix-ide本地环境搭建

    remix-ide简介 ​ remix-ide是一款以太坊官方solisity语言的在线IDE,可用于智能合约的编写.测试与部署,不过某些时候可能是在离线环境下工作或者受限于网速原因,使用在线remi ...

随机推荐

  1. hdu 1312 Red and Black

    Problem Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...

  2. ubifs核心功能 -- 垃圾回收

    可回收空间的分类 垃圾回收的目的是再利用(回收后的空间大小能写入有效的node),如果再利用的价值越低,其回收的必要性越低.为了进行有效的垃圾回收,UBIFS对可回收空间做了2个层次的水线划分: 死空 ...

  3. ubuntu 安装 Terminator

    sudo apt-get install terminator Ctrl-Shift-E: 垂直分割Ctrl-Shift-O: 水平分割Ctrl-Shift-P: 激活先前的窗口Ctrl-Shift- ...

  4. 设置 tableview 的背景 颜色 和清空

    表示图中Cell默认是不透明的,那么在设置表示图的背景颜色和图片时通常是看不到的 1.给tableView设置背景view UIImageView *backImageView=[[UIImageVi ...

  5. USACO 5.5 Hidden Password(搜索+优化)

    水了好几下. 优化1:开始初始化的时候,如果左边那个也是最小值,那么此点就不用进队了. 优化2:如果队列里的位置,已经超过了后面位置的初始位置,那么后面这个位置也没用了. /* ID: cuizhe ...

  6. jquery js javascript select 无限级 插件 优化foxidea版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 对AFN的二次封装

     .h .m

  8. [LintCode] Create Maximum Number 创建最大数

    Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...

  9. MySql_设置编码

    1.查看mysql编码(默认latin1) show variables like 'collation_%'; +--------------------------+--------------- ...

  10. hao123列表的实现

    <!DOCTYPE html><html><head>        <meta http-equiv="Content-Type" co ...