现在虽然环信的xmpp框架很火,但是也有一些弊端。环信的框架部分代码不开源,而且收费模式不科学,用户量一直低于免费线则好,一旦超过,收费极高。 xmpp感觉还是从xmppFramework框架学起比较科学。能够更清楚的了解即时通讯里各个操作的api,就算以后出了新的框架底层也要这么用的。主要用到的工具软件有Openfire,mysql,javajdk,phpMyAdmin,Adium等

将本文拉到最下面能看到配置完成之后的聊天效果。

附:需要用到的软件地址是 http://pan.baidu.com/s/1tr7oa  网盘密码d3lb

第一步,安装jdk,因为xmpp里面有不少东西是要运行在java环境下。在网盘的Openfire文件夹下,jdk按照提示下一步下一步就完事了。

如果你不是在董铂然博客园看到本篇文章,请点击查看原文

第二步,安装Openfire服务器,这个也在Openfire文件夹下,下一步下一步就完事了。

第三步,安装mysql。这个在数据库文件夹下。这个分10.9系统和10.10系统。 如果是10.9就安装5.6.21版本 如果是10.10就安装5.6.23版本

安装完之后 会看到偏好设置里的如下界面

把MySQL 和 Openfire都点开 并且都点start让两个都启动

第四步,要给MySQL设置“管理员密码” 原因:MySQL安装完成后,没有管理员密码,会禁止从网络访问MySQL

到终端里操作 (美元符号$不要输入)

$ cd 数据库的目录(从Finder拖)

$ ./alias

重新启动终端,输入ls,如果发现目录变蓝,通常说明配置正确

如果运行了这个脚本时无法设置密码,就使用

$ mysqladmin -u root password  修改mysql密码 比如123456

$ mysql -u root -p  登陆数据库

如果能登陆成功,quit退出 进入下一步

第五步,配置phpMyAdmin

这个是数据库管理软件,比较好用,mac上自带的软件要收费328美金,文件夹里也有个盗版但不能更新了,而且10.10系统用不了。(NaviCat不建议用)

phpMyAdmin是网页管理,非常好用。配置如下

复制到Apache根目录 → 将目录名修改为phpMyAdmin  →  将 config.sample.inc.php 复制,重命名为:config.inc.php  →  打开config.inc.php 将 localhost 改为 127.0.0.1

配置完成后启动 apache服务器

$ sudo apachectl -k start

Apache如果没配置好 可参见这篇文章配置也很简单 http://www.cnblogs.com/dsxniubility/p/4294456.html

phpMyAdmin的登录页面如下

第六步,创建数据库

打开浏览器,输入http://localhost   →   选择 phpMyAdmin,进入phpadmin的登录页面 → 输入mysql的用户名密码root密码123456

→  新建一个数据库,名字:openfire  排序规则:utf8_general_ci   →  点击openfire(刚刚新建的空数据库)→ 点SQL

这时需要一串脚本代码去这里复制

打开finder,进入目录 /usr/local   → 在文件夹openfire上,点击右键,选择“显示简介”在“共享与权限”  → 解锁后添加本机账号具有“读与写”的权限

→  进入 /usr/local/openfire/resources/database   →  找到openfire_mysql.sql,并用Xcode 打开 cmd+A, cmd +C

回到safari,确认在SQL输入框中,cmd +v 并且点击执行,表就创建完了 。点击左侧的openfire,确认数据库安装正确!

第七步,配置openfire服务器

点击偏好设置里的 openfire 在面板的右边有 open admin console 点开就是openfire的服务器配置页面(没有要改的地方就直接下一步)

选择简体中文下一步  →  域"dsx.local" 非常重要!默认是自己"计算机的名称.local" 在系统偏好共享中可以看到自己的计算机名称

→  数据库设置“标准数据库连接”  →   数据库驱动选项:MySQL   把自动生成的数据库的URL改为

jdbc:mysql://127.0.0.1:3306/openfire?rewriteBatchedStatements=true  (其实就是修改主机名为127.0.0.1,数据库名称为:openfire)

→  用户名密码是 root 和 123456  → 点击继续 输入xmpp管理员的初始密码:比如再写个123456

登录到管理页面  填写xmpp用户名和密码 是 admin 和 123456  如果能够登录成功,说明服务器安装完成!

第八步,新建几个用户, 点击“用户/组”  新建用户只需要填写带星号的空空 (用于后面客户端登陆)

第九步,配置客户端(要配置两个,可以先聊天感受到即使通讯,之后还会自己写一个程序在模拟器内运行与客户端聊天)

配置客户端 iChat(iMessage)1] 添加用户,选择“其他”类型   账户类型:jabber  用户名:admin@dsx.local 123456  信任证书

配置小鸭子 Adium_1.5.10 ,在客户端文件夹里,打开后按照提示拖入应用程序就安装完成了,第一次启动可能比较慢

然后这iMessage 和  小鸭子客户端里的两个 账号互相加好友就可以 开始聊天了。

如果你不是在董铂然博客园看到本篇文章,请点击查看原文

后续很快会整理关于xmpp的各种模块(用户上线下线,用户注册,加好友,互相发送信息,发送图片和音频信息等)的学习笔记,有兴趣的可以关注我。

xmpp整理笔记:环境的快速配置(附安装包)的更多相关文章

  1. xmpp整理笔记:发送图片信息和声音信息

    图片和音频文件发送的基本思路就是: 先将图片转化成二进制文件,然后将二进制文件进行base64编码,编码后成字符串.在即将发送的message内添加一个子节点,节点的stringValue(节点的值) ...

  2. xmpp整理笔记:聊天信息的发送与显示

    任何一个信息的发送都需要关注两个部分,信息的发出,和信息在界面中的显示 往期回顾: xmpp整理笔记:环境的快速配置(附安装包)  http://www.cnblogs.com/dsxniubilit ...

  3. xmpp整理笔记:用户网络连接及好友的管理

    xmpp中的用户连接模块包括用户的上线与下线信息展现,用户登录,用户的注册: 好友模块包括好友的添加,好友的删除,好友列表的展示. 在xmpp中 负责数据传输的类是xmppStream,开发的过程中, ...

  4. xmpp整理笔记:xmppFramework框架的导入和介绍

    一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 往期回顾: xmpp整理笔记:环境的快速 ...

  5. kafka-manager 的编译和使用(附安装包)

    kafka-manager 的编译和使用(附安装包) 学习了:https://my.oschina.net/wangjiankui/blog/653139

  6. Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用

    title: "Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用" categories: soft tags: soft autho ...

  7. 快速创建软件安装包-ClickOnce

    大家好,我是沙漠尽头的狼. .NET是免费,跨平台,开源,用于构建所有应用的开发人员平台. 今天介绍使用ClickOnce制作软件安装包,首先我们先了解什么是ClickOne. 1. 什么是Click ...

  8. Ubuntu 中 java 环境 (sunjdk) 的配置 (附详细说明)

    暑假以来为了鼓捣双系统废了很大的劲儿,本来一股脑想装 CentOS,无奈怎么处理分区引导都不能成功地与 Win8 共存,最终用 Ubuntu 一句 "检测到系统上有 Windows Boot ...

  9. tsung压力测试环境部署详细步骤(内附安装包)

    操作系统: Redhat 6.3.Redhat6.5 .centos7.4(这些版本已验证过) tsung版本: tsung-1.6.0 下载地址: 链接: https://pan.baidu.com ...

随机推荐

  1. ReflectionHelper

    public static T GetInstance<T>(Assembly assembly, string fullNamespace) { return (T)assembly.C ...

  2. 从设计到开发,硅谷技术专家教你做“声控”APP

    编者:本文为携程机票研发部技术专家祁一鸣在携程技术微分享中的分享内容,关注携程技术中心微信公号ctriptech,获知更多一手干货. [携程技术微分享]是携程技术中心推出的线上公开分享课程,每月1-2 ...

  3. Shiro —— 从一个简单的例子开始

    一.Shiro是用来做权限的. 二.权限 1.基本概念: (1)安全实体:要保护的数据. (2)权限:是否有能力去操作(查看.修改.删除 )保护的数据. 2.权限的两个特性 (1)权限的继承性:A 包 ...

  4. Python生成二维码脚本

    简单的记录下二维码生成和解析的Python代码 依赖下面三个包: PIL(图像处理包,安装:pip install PIL) qrcode(二维码生成包,安装:pip install qrcode) ...

  5. 初探Spring - IOC原理

    一.IOC是什么 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来降低代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency ...

  6. 他答对一半(打一字)asp.net开源简答题项目

    先出个字谜: 他答对一半(打一字) 你猜出来了没? 可以到这个网址答题:http://m.hovertree.com/miyu/bjae/4fpmm2td.htm 看你的答案是否正确. 这是ASP.N ...

  7. Android去掉listView,gridView等系统自带阴影

    当我们使用listView的时候,拉到顶,或是拉到底部的时候,我们会发现有系统自带的阴影效果出现,不同手机出现的颜色可能还会不一样. 在以前我始终都有注意到此问题,一直以为是系统自带的,不能去掉.也没 ...

  8. MEF入门之不求甚解,但力求简单能讲明白(四)

    上一篇我们已经可以获取各种FileHandler的实例和对应的元数据.本篇,我们做一个稍微完整的文件管理器. 1.修改接口IFileHandler,传入文件名 namespace IPart { pu ...

  9. MEF入门之不求甚解,但力求简单能讲明白(二)

    在上一篇文章中,我们已经学到了很基本的MEF概念和使用方法. 但我们导出的是一个object类型的实例,只能用来tostring,没有引用部件类库,也不能用里面的成员方法. 本篇,我们逐渐往简单的文件 ...

  10. SharedPreferences写入和读出数据

    Android中有很多方法存储数据,如SharedPreferences.SQLite数据库等.简单数据的存储适用SharedPreferences. 本文使用SharedPreferences写入和 ...