实现即时通信有多种方式,下面讲的是Mac下使用XMPP来实现。

XML Messages Presence Protocol 可扩展消息处理协议 简单讲就是基于XML语言的点对点即时通信协议 
原理:至少两个客户端和一个服务器

搭建XMPP环境

需要几个辅助工具

  1. XAMPP
  2. OpenFire
  3. spark
  • 我们首先是搭建服务器环境,要想安装Apache服务器是不容易的,如果你还想添加 MySQL、PHP 和 Perl,那就更难了。XAMPP(Apache+MySQL+PHP+PERL)是很好的辅助工具,TA是一个功能强大的建 XAMPP 软件站集成软件包。这个软件包原来的名字是 LAMPP,它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言。XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版。XAMPP 的确非常容易安装和使用:只需下载、解压、启动即可。
  1. 准备XAMPP的安装包
  2. 安装(简单的一直NEXT操作)
  3. 点开Manage Server 点击 start all ,这个意思就是开启所有服务。注意:如果你的MAC自带了一个Apache就会会导致启动失败,就需要打开终端输入 sudo apachectl stop 命令,停止自带的服务器运行。
  • OpenFire是开源的基于XMPP协议的服务器,下面是OpenFire的安装和配置指南 登录127.0.0.1:9090
          1、准备OpenFire安装包
          2、双击进行安装(注意:在系统偏好设置-安全与隐私-通用里面设置 允许mac安装任何来源)
          3、安装完成之后进入系统偏好设置,会发现多了一个OpenFire图标
          4、点击图标进入保证Status 是 Running 也就是处于运行状态
          5、启动之后 可以点击Open Admin Console进入 或者 通过127.0.0.1:9090访问(注意:为了避免错误要使用mac内部的Safari浏览) OpenFire服务器的web配置页面  进行配置
   6、首先选择语言 中文
   7、服务器设置  域名:本地主机名称 系统偏好设置 - 共享 中可以查看(一般默认继续下一步)
   8、数据库设置  使用标准数据库
   9、数据库设置 - 标准连接
  • 使用MySQL数据库(存储聊天记录)
  • 这里还要修改数据库URL的两个值[host name] = 127.0.0.1和 [database name]
  • 后者需要先使用phpMyAdmin创建一个新的数据库,通过127.0.0.1登录XAMPP页面,点击 phpMyAdmin - New 创建数据库成功之后导入表openfire_mysql.sql
  • 此时要去OpenFire文件中获取需要的这个文件,打开Finder前往文件夹(command + shift + g)输入/usr进入usr-local-openfire
  • 这个时候你会发现你因为没有权限而无法打开文件,解决办法就是选中文件右键-显示简介-解锁-everyone修改为读与写-上锁
  • 此时可以打开openfire-resource-database中找到我们需要的openfire_mysql.sql你可以选择放到桌面方便在phpMyAdmin中导入
  • 选中新建的数据库-导入-选择文件-导入成功 [database name] = 新建的数据库名称
  • 用户名 = root
  • 密码省略
   10、特性设置  初始设置
   11、设置新密码 (注意:为了避免后面忘记密码可以跳过这一步,要是设置密码出错或者不设置那么密码就和账户名是一样的admin)
   12、安装完成,登录到管理控制台
 

openfire启动失败解决办法

当你发现你的电脑上的openfire无论你是重新安装还是重启都无法启动的情况下你可以按照我下面写的那些终端指令来启动你的openfire不用再去重新做你的系统了.
一般你发现你的openfire打开出现这样的窗口后你就可以想到你的openfire出问题了,极个别的时候你可以通过重新安装来解决.

如果大家的问题重新安装后没有解决那就试下我下面的方法.

先打开自己电脑上的终端然后输入以下指令

//   获取权限
sudo chmod -R 777 /usr/local/openfire/bin

sudo su
sh-3.2# cd /usr/local/openfire/bin
sh-3.2# export JAVA_HOME='/usr/libexec/java_home'
sh-3.2# echo $JAVA_HOME
/usr/libexec/java_home
sh-3.2# export JAVA_HOME=`/usr/libexec/java_home`     //记住这里不是单引号而是英文下数字1左边的按键.

sh-3.2# echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
sh-3.2# cd /usr/local/openfire/bin
sh-3.2# ./openfire.sh
Openfire 3.10.2 [Aug 13, 2015 9:50:05 AM]
Admin console listening at http://niufangludemacbook-pro.local:9090
一般你输入完成这些指令后你再打开你的openfire就会好了

简单提一下 :MAC下彻底卸载OpenFire

  1. 在phpMyAdmin中点击 主页 - 数据库 勾选你创建的数据库直接删除
  2. 在系统偏好设置中点击进入修改Status 停止运行状态
  3. 打开终端输入以下三条命令:

sudo rm -rf /Library/PreferencePanes/Openfire.prefPane
                              sudo rm -rf /usr/local/openfire
                              sudo rm -rf /Library/LaunchDaemons/org.jivesoftware.openfire.plist

    说明:第一条会让你输入管理员密码,尽管你输入的时候,终端不会显示,不必担心,正确输入后按回车,它就执行了.
三条命令以后,openfire就彻底消失了.

 

MAC下的XMPP环境搭建的更多相关文章

  1. Mac下R语言环境搭建

    Mac下R语言环境搭建 博主在数据分析的时候一直用的python(MATLAB太重了),最近跟其他搞学术的人合作,需要用一下R语言,所以也打算顺便学习一下R. R语言简介 R语言是用于统计分析,图形表 ...

  2. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建

    # OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...

  3. mac下selenium+python环境搭建

    selenium2+python的环境搭建主要需要python和selenium 1.python mac下自带了python,可以查看版本.当然可以选择安装其它版本的python. 2.seleni ...

  4. Mac下git的环境搭建和基本使用

    前言本文将介绍git的基本概念.环境搭建.日常使用,主要针对刚接触git,或接触不久,或好久没用忘记的同学们,当然是基于mac环境的,window系统也是大同小异!本文将从以下几个模块介绍,希望能帮助 ...

  5. mac下java 开发环境搭建

    mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat   1.先安装jdk ,才能安装sdk . 2 mac中jdk1.7的默认位置:/Library/Java/Ja ...

  6. mac下Android开发环境搭建

    之前一段时间在学习ios的开发,近一段时间想着也接触下Android开发,以来加深对移动端开发的理解.这里根据自己配置Android开发环境的过程,比较详细的来总结下自己的安装过程,希望对一些正准备配 ...

  7. Mac下JAVA开发环境搭建

    最近开始学习JAVA, 首先配置下环境! 1.Mac自带的jdk版本老了,需要到oracle官网去下载新的jdk,具体下载那个版本看个人需求,然后安装.   安装完成之后打开Terminal, 执行命 ...

  8. MAC 下 STF 的环境搭建和运行

    STF --WEB 端批量移动设备管理控制工具 安装各种包 (首先安装Macport,因为后面需要用到port:http://www.ccvita.com/434.html) linux的基本包安装, ...

  9. Mac下Qt的环境搭建

    1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Q ...

随机推荐

  1. 模板引擎Nvelocity实例

    前言 最近一直忙于工作,没时间来管理博客,同时电脑也不给力,坏了一阵又一阵,最后还是去给修理了,这不刚一回来迫不及待的就写一篇文章来满足两个月未写博客的紧迫感. Nvelocity 关于nveloci ...

  2. 瀑布流StaggeredGridView 下拉刷新

    1.项目中用到了瀑布流,之前用的是PinterestLikeAdapterView这个控件  然后上拉加载更多跟下拉刷新用的是XListView ,但是加载更多或者下拉刷新的时候闪屏,对用户体验很不好 ...

  3. 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE解决办法

    需要下载Genymotion-ARM-Translation_v1.1.zip  ARM插件包 用于安装ARM架构的程序,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行.然后重启你 ...

  4. cookie属性详解

    在chrome控制台中的resources选项卡中可以看到cookie的信息. 一个域名下面可能存在着很多个cookie对象. name字段为一个cookie的名称. value字段为一个cookie ...

  5. C# 原样复制excel工作表

    在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...

  6. 在IE11下设置SharePoint Server 2013却遇到“需要 Internet Explorer 才能使用此功能。”的解决办法

    就在昨天顺利升级到Windows 8.1 随之IE也升级到了IE11,但是当打开IE11设置SharePoint Server 2013的时候遇到了一些小情况: Figure 1使用Windows 8 ...

  7. Oracle 10g安全加固(审计、监听密码)

    环境: Linux 6.4 + Oracle 10.2.0.4 1. Oracle 10g 审计功能 2. 对数据库监听器的关闭和启动设置密码 1. Oracle 10g 审计功能 Oracle 10 ...

  8. js面试题之数组去重对比

    最近看一些面试题,很多都提到了数组去重,用的最多的不外乎就是下面这个例子 arr.filter(function(value,index,arr){ return arr.indexOf(value, ...

  9. Asp.net 面向接口可扩展框架之“Mvc扩展框架及DI”

    标题“Mvc扩展框架及DI”有点绕口,我也想不出好的命名,因为这个内容很杂,涉及多个模块,但在日常开发又密不可分 首先说Mvc扩展框架,该Mvc扩展就是把以前的那个Mvc分区扩展框架迁移过来,并优化整 ...

  10. C#模拟Http请求时出现 基础连接已经关闭 未能为 SSLTLS 安全通道建立信任关系

    //解决方法: //引入命名空间: using System.Security.Cryptography.X509Certificates; using System.Net.Security; // ...