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. NOIp 2014 #5 解方程 Label:数论?

    题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入输出格式 输入格式: 输入文件名为equation .i ...

  2. NOI OpenJudge 8469 特殊密码锁 Label贪心

    描述 有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态. 然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转.当然,如果你 ...

  3. HDU-Minimum Inversion Number(最小逆序数)

    Problem Description The inversion number of a given number sequence a1, a2, ..., an is the number of ...

  4. [杂谈] There is a Doctor in My Computer.

    (p.s. 附带手写翻译,有错轻喷) Admin: Hi.             (嗨) Doctor: How do you do?  What brings you to see me?     ...

  5. tornado 学习笔记1 引言

    从事软件开发这行业也快5年啦,其实从事的工作也不完全是软件开发,软件开发只是我工作中的一部分.其中包括课题研究.信息化方案设计.软件开发.信息系统监理.项目管理等工作,比较杂乱.开发的软件比较多,但是 ...

  6. Js C# 实现跨域访问数据

    使用项目一的js调用项目二的数据 1.项目一 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta ...

  7. 腾讯 pc端面试(2015.10.26)

    整个面试过程全部围绕着我在前一家公司做过的项目开始提问.因为这个项目是我主要负责的,所以面试官第一个问题是让我讲解了整个项目的框架结构.在对于项目的框架结构的讲解方面,大致条理还算清醒但是因为很少对做 ...

  8. session/SessionFactory线程非安全和线程安全

    SessionFactory负责创建session,SessionFactory是线程安全的,多个并发线程可以同时访问一个 SessionFactory 并从中获取Session实例. (Sessio ...

  9. ASP.NET发布后,功能不响应

    题记:稀奇古怪的错误,往往是由低级脑残错误产生的 ASP.NET网站,本地调试一切正常.部署到服务器后,结果登陆按钮就卡住了,点击就是没反应. 浏览器显示Internal Server Error 5 ...

  10. userAgent

    我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWe ...