现在虽然环信的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. Linux C++ 调试神技--如何将Linux C++ 可执行文件逆向工程到Intel格式汇编

    Linux C++ 调试神技--如何将Linux C++ 可执行文件逆向工程到Intel格式汇编 对于许多在windows 上调试代码的人而言, Intel IA32格式的汇编代码可能并不陌生,因为种 ...

  2. 基于HT for Web的Web SCADA工控移动应用

    在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在 ...

  3. Insert Plain Text and Images into RichTextBox at Runtime

    Insert Plain Text and Images into RichTextBox at Runtime' https://www.codeproject.com/Articles/4544/ ...

  4. Windows Server 2016正式版14393英文版ISO镜像下载:_X64FRE_ZH-CN.ISO

    http://care.dlservice.microsoft.com/dl/download/F/8/3/F83C7D26-787A-4F43-82B0-7C7BF8A12791/14393.0.1 ...

  5. SQL Server论坛楼层计算触发器

    代码: USE suya_dev GO IF EXISTS( SELECT * FROM sys.triggers WHERE name = N'BBS_Post_before_insert' ) D ...

  6. Razor语法的一些特殊需求输出

    开发ASP.NET MVC,常会使用Razor来呈现内容.下面有几个特殊需求的输出,Insus.NET列出来让大家参考. 双@@输出只有一个. 在Razor的语法中,如果想输出html,它会有两种语法 ...

  7. ASP.NET Core开发-读取配置文件Configuration

    ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...

  8. vs2010 用户控件拖到aspx页面不可用

    错误描述: 在web项目中添加一个用户控件,直接拖动用户控件ascx到aspx页面出现a标签而不是控件标签 解决办法: 把“源”切换为“设计”视图,然后拖动ascx用户控件到页面即可:

  9. JsonConvert 使用注意事项之 Serializable

    1.使用NuGet安装Newtonsoft.Json. 2.创建需要序列化的类. public class Person { public string Name{get;set;} public i ...

  10. C#中WinForm窗体事件的执行次序

    C#中WinForm窗体事件的执行次序如下: 当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:        System.Windows.Forms.Control ...