• iOS,XMPP本地环境搭建和框架使用


    1.XMPP的MySQL和openfire环境配置

    2.XmppFramework框架导入和介绍 

    XMPP的MySQL和openfire环境配置

    1.下载mysql安装

    打开MySQL安装包如下

    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
      先后分别安装
     mysql-5.6.12-osx10.7-x86_64.pkg:MySQL的主要程序包;
     MySQL_StartupItem.pkg:MySQL的启动项;
     MySQL.prefPane:MySQL的偏好设置,主要用来启动MySQL服务。
    2.修改MySQL密码
       *进入偏好设置中停止mysql服务
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     *默认安装的MySQL的账户是root  密码为空
    在终端通过下面命令登陆MySql,(初始密码为空直接点回车)
    mysql -u root -p
     修改密码:
    mysqladmin -u root password "123456"
    3.安装MySQL图形化管理工具mysql-workbench
     *创建新数据库
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
     iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
    4.安装Java环境
      *openfire服务器是基于Java语言写的。
     JDK下载 安装
     安装好后再终端输入java -version就可以查看是否已经安装了Java环境
      

    5.下载安装openfire

     
    *回到mysql_workbench来配置数据库
      打开Finder, command+shift+G
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
    有个红色的标记说明没有权限访问,只需要右键显示简介,将锁打开,设置一下就行了
     
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     权限都改为读写
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
      *mysql workbench中,双击"openfire",处于选中状态,然后点击菜单栏的"File",将刚才的脚本导入执行
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
    点击??按钮
     
     安装好后重新打开系统偏好设置,找到openfire,点击打开跳转到浏览器,进行openfire设置
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
    选择简体中文
     下面本机可以用127.0.0.1,应该默认就可以
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     继续
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     继续
     
    用户名和密码填mysql里设置的用户名和密码。注意图中支出的配置
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     设置完成后,会要求重新设置openfire的密码,然后就可以用用户名和密码登陆了
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
    安装上述完成
    MySQL的用户名和密码是   root   123456
    openfire的用户名和密码是 admin 123456
    下载测试用客户端spark
    可以用openfire新建的用户名和密码登陆,也可以自己在客户端注册
    iOS,XMPP的MySQL和openfire环境配置 - Vie - Vie
     
     
    注:mac系统下openfire非常不稳定,只做练习使用
     

    XmppFramework框架导入和介绍 

     1.网上下载XmppFramework框架导入


    iOS,XmppFramework框架导入 - Vie - Vie
     iOS,XmppFramework框架导入 - Vie - Vie
      2.添加框架依赖
    iOS,XmppFramework框架导入 - Vie - Vie
     3.修改Build Settings
    Header Search Paths    添加    /usr/include/libxml2
    iOS,XmppFramework框架导入 - Vie - Vie
           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:发布订阅

  • 相关阅读:
    Spark——为数据分析处理提供更为灵活的赋能
    秋读|10本热门图书(人工智能、编程开发、架构、区块链等)免费送!
    使用Phaser开发你的第一个H5游戏(一)
    Java web 服务启动时Xss溢出异常处理笔记
    为什么我打的jar包没有注解?
    收集、分析线上日志数据实战——ELK
    阿里云PolarDB及其共享存储PolarFS技术实现分析(下)
    14.5 富文本编辑【JavaScript高级程序设计第三版】
    【收藏】15个常用的javaScript正则表达式
    C# 网络请求
  • 原文地址:https://www.cnblogs.com/douniwanxia/p/5892827.html
Copyright © 2020-2023  润新知