openfire】的更多相关文章

推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这样的好处就是有消息后才向客户端推送,相比于拉取数据不会产生许多无效的查询,实时性也高. xmpp这种即时通信协议基于TCP长连接还是比较符合这种场景的.只需要在服务端增加一个模块用于接收用户订阅与数据的推送就完成了主体功能. 在xmpp协议里可以扩展组件,这样我们写一个组件,然后连接到xmpp服务器…
说明   本文源码基于Openfire4.0.2.   Openfire的启动       Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个XMPPServer实例.   下面就是ServerStarter.start方法的代码片断:   Class containerClass = loader.loadClass("org.jivesoftware.openfire.XMPPServer"); containerClass…
如果用户量增加后为了解决吞吐量问题,需要引入集群,在openfire中提供了集群的支持,另外也实现了两个集群插件:hazelcast和clustering.为了了解情况集群的工作原理,我就沿着openfire的源代码进行了分析,也是一次学习的过程.   首先理解集群的一些简单概念 集群的目的是让多个实例像一个实例一样运行,这样就可以通过增长实例来增长计算能力.也就是所谓的分布式计算问题,这其中最为关注的一个特性就是——CAP理论,也就是所谓的一致性.可用性.分区容错性.集群中最核心解决的问题就是…
在之前的文章<Openfire阶段实践总结>中提到过一种openfire的扩展模式Compoent.本文将主要探讨对这种模式的应用与开发方法. 内部与外部组件介绍 在openfire中的许多插件都实现了Compoent,Compoent的灵活性在于它可以通过对特定的二级子域包进行处理.在XMPP协议中最为明显的使用场景就是群聊,这就是一个典型的例子.看看openfire中的聊天室JID都是什么格式:room1@conference.domain,很明这里多了一个conference.对比用户的…
从3月开始研究Openfire,其实就是要做一套IM系统,也正是这个原因才了解到Openfire.之前还真没想过有这么多的开源产品可以做IM,而且也没想到XMPP这个协议竟然如何强大.看来还是标准为先,好的标准可以推动产业发展啊. Openfire的搭建与简单的demo之前写过篇<技术笔记:XMPP之openfire+spark+smack>,当时主要关注的怎么让这套体系跑起来吧,只不过现在还是在这个阶段,只是多学了点东西留下点笔记吧. 1.对于XMPP的学习很重要 最开始觉得搭建一套Open…
在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的.所以还是想在这个领域多多了解一下. XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是.简单的说就是基于XML的一种协议.其解决了什么问题呢?就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时通信的功能.有了标准的好处就是可以有各种不同的实现,大家在这个标准上发展自己的特长.而且还给即时通信提供了互联互通的基础.XMPP协议据网上说还是比较优秀的,表现就是google等大公司都在自己的即时…
Openfire 集群部署和负载均衡方案 一.   概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Haproxy进行负载均衡,在示例环境中测试通过. 二.   示例环境 服务器配置如下: 服务器名 用途 操作系统 IP PC647 Openfire节点1 Windows7 10.200.10.11 seasky Openfire节点2 Windows xp 10.200.10.18 Lub1 Mysql数…
昨天讲了Openfire的搭建和配置,今天来讲一下Smack.如果对如何搭建和配置Openfire的,可以参考Openfire/XMPP学习之——Openfire的安装.配置. Smack是一个开源,易于使用的XMPP客户端类库.Smack API, 是一个 Java 的XMPP Client Library,也是由Jive Software开发. 优点:编程简单. 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户.Smack是一个用 jav…
一.Openfire下载: 官方下载:http://www.igniterealtime.org/downloads/index.jsp 在官方下载站点,可以获取Windows.Linux.Mac三种系统的安装文件,我们这里主要讲的是Windows系统的配置,忽略其它系统吧.对于Windows系统来讲,安装文件又分为exe和zip的,个人推荐exe的安装文件,只需要双击->安装就行了,省时省力.对于zip格式的,百度的使用方法是:解压,复制文件到C:\Program Files\目录下即可.这个…
Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_4_1_0.tar.gz 环境准备 先确保是否已安装jdk,出现下面信息表明已安装.若未安装,请先安装JDK java -version 一.Openfire安装 本文针对Openfire安装,提供了两种方式.根据自己的下载的文件不同,选择不同的安装方式即可. Openfire的tar.gz包安装…