http://blog.csdn.net/shimiso/article/details/8816558
测试下Oopenfire相关应用,使用Openfire+Spark搭建一个简单的在线咨询服务,有点类似阿里旺旺,可以Web页面在线咨询,也可以加为好友在PC客户端中咨询。
Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。所以常常被
测试机4台 1.四台机器都安装openfire,随即一台安装mysql,执行openfire_mysql.sql脚本。 2.四台机器都配置到同一个mysql机器上(不能使用openfire内嵌的数据库),使用同一个域名。 3.四台机器都安装
Openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。
使用openfire的时候如果需要使用自己的mysql数据库,需要提前进行设置,下面将记录下,基本的设置过程。 一、前期准备工作: 1、先下载两个工具一个是mysql数据库还有一个是SQLyog(可以
有篇关于Openfire导入到IntelliJ IDEA的文章(http://www.linuxidc.com/Linux/2015-01/112313.htm),不过在我导入的过程中,感觉还可以再简化一些,所以重新整理如下(需要预先已经安装了Java SDK,这里我用的是SDK1.7):
openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。
修改openfire的配置有两种途径: 1:修改安装目录/conf/openfire.xml。 2:直接修改openfire数据库的ofProperty表。 但是一般都建议修改openfire.xml文件,该文件如果配置正确,openfire重启后会自动将该文件里的属性值写入ofProperty表,同时会擦除自己添加的配置,只剩标签(除了默认配置)。如图:
http://igniterealtime.org/downloads/index.jsp
XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。XMPP is the IETF's formalization of the base XML streaming protocols for instant messaging and presence developed within the Jabber open-sourc
一次偶然的机会发现某台Web服务器被黑了之后被植入了挖矿病毒,然后忙活了好久清理完病毒之后就开始思考思考到底是怎么被黑的,俗话说的好死要死得明白。
1、下载源代码:http://www.igniterealtime.org/downloads/source.jsp 2、把源代码解压出的openfire_src文件夹放至eclipse workpl
更新:2017年8月1日 实在是抱歉,git上的Demo这么久,有问题自己没有发现!肯定给大家造成过不方便,抱歉!git上Demo刚重新上传,要有需要的可以去下载,要有问题可以直接找我QQ联系我! 最近在总结Socket方面的知识,等文章写完会发不来,这篇文章是去年什么四五月份写的吧,那是水平也是有限,希望接下来能总结的比这篇好一点!! 在Demo中,XMPP接收发送消息这一块的代码我暂时是删除了,仿照微信的聊天框架是在的,你要想通过XMPP自己在项目中试试,你需要的也就是在Dem
说明 本文源码基于Openfire4.0.2。 Openfire的启动 Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个XMPPServer实例。 下面就是ServerStarter.start方法的代码片断: Class containerClass = loader.loadClass("org.jivesoftware.openfire.XMPPServer"); containerClass.newInstance(); 这样一个o
现在很多软件都加入了聊天功能,也有许多公司直接提供了app聊天的组件,简单集成就行,但是弊端在于组件一是要收费,二是不灵活,没法自定义
Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平台(windows,linux,max os)管理Java进程,管理JVM,启动停止,开机启动,管理内存溢出的异常 标准版还可以发错误日志email,检测死锁 比自己写个启动脚本更为方便通用稳定,后台服务可以考虑使用JSW。 这里使用免费的社区版,可以先直接跑一下demo看效果。 基本原理就是 java o
所以我基本上分为三篇文章来介绍此类软件的开发: 第一篇是关于XMPP 协议是啥,IM 是啥以及一个比较有名的开源实现,该开源实现包括三个部分(Spark、Smack和Openfire); 第二篇讲如何开发基于Spark 的客户端IM 插件部分; 第三篇讲如何开发基于Openfire 服务器端的插件部分。 好了,进入正题吧。 什么是XMPP? Extensible Messaging and Presence Protocol,简单的来讲,它就是一个发送接收处理消息的协议,但是这个协议发送的消息,既不是二进
在之前的文章《Openfire阶段实践总结》中提到过一种openfire的扩展模式Compoent。本文将主要探讨对这种模式的应用与开发方法。 内部与外部组件介绍 在openfire中的许多插件都实现了Compoent,Compoent的灵活性在于它可以通过对特定的二级子域包进行处理。在XMPP协议中最为明显的使用场景就是群聊,这就是一个典型的例子。看看openfire中的聊天室JID都是什么格式:room1@conference.domain,很明这里多了一个conference。对比用户的JID:u
python是脚本语言,简单,好用!Web开发,特别是面向互联网的应用开发,现在是Python的应用性能比较领先。
用MyEclipse部署Openfire的步骤,网上有很多,可以自行google,这里要记录的是用据说最好用的JAVA编辑器IntelliJ IDEA来部署Openfire服务端。试了好多下,终于成功了,记录下。
应该是去年的时候开始接触openfire,当时在分析后发现基于xmpp协议的openfire已经具备了群聊的功能。也就没太当回事,觉得加点功能就可以做成类似于QQ群的那种模式。后来仔细了解后才发现并不是这么简单:
Openfire 是根据开放源 Apache 许可获得许可的实时协作(RTC)服务器,它使用唯一被广泛采用的用于即时消息的开放协议 XMPP(也称为 Jabber)。
从3月开始研究Openfire,其实就是要做一套IM系统,也正是这个原因才了解到Openfire。之前还真没想过有这么多的开源产品可以做IM,而且也没想到XMPP这个协议竟然如何强大。看来还是标准为先,好的标准可以推动产业发展啊。 Openfire的搭建与简单的demo之前写过篇《技术笔记:XMPP之openfire+spark+smack》,当时主要关注的怎么让这套体系跑起来吧,只不过现在还是在这个阶段,只是多学了点东西留下点笔记吧。 1、对于XMPP的学习很重要 最开始觉得搭建一套Openfire+sp
如果用户量增加后为了解决吞吐量问题,需要引入集群,在openfire中提供了集群的支持,另外也实现了两个集群插件:hazelcast和clustering。为了了解情况集群的工作原理,我就沿着openfire的源代码进行了分析,也是一次学习的过程。 首先理解集群的一些简单概念 集群的目的是让多个实例像一个实例一样运行,这样就可以通过增长实例来增长计算能力。也就是所谓的分布式计算问题,这其中最为关注的一个特性就是——CAP理论,也就是所谓的一致性、可用性、分区容错性。集群中最核心解决的问题就是CAP。 CAP
OpenFire 是采用Java开发的基于XMPP(Jabber)协议,开源实时协作(RTC)服务器。
一转眼发现博客里积累了不少文章,特别是这两年开始发现写博客也是一种提升自己技术能力的方法。这就和写代码一样,因为会让大脑思考,时间长了就会留下记忆。所以很多的高手都是通过这样的不断的重复训练来的。 也就是为什么一些快速成长的公司更容易产生大牛,因为如果初始的员工本身不够牛,业务很难大发展。底子在那里,加上各种实战自然就成长的快,时间长了不牛才怪。当然大牛的人还要会沉淀、思考、修正、分享,这或许是写博客的一个意义所在吧。 java开发相关 Tomcat shutdown执行后无法退出进程问题排查及解决 记一次
Openfire 是 Ignite Realtime 支持的 Jabber 服务器。它是一个跨平台的 Java 应用程序,它将自己定位为一个供中型企业控制内部通信并使即时消息传递更容易的平台。
在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的。所以还是想在这个领域多多了解一下。 XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是。简单的说就是基于XML的一种协议。其解决了什么问题呢?就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时通信的功能。有了标准的好处就是可以有各种不同的实现,大家在这个标准上发展自己的特长。而且还给即时通信提供了互联互通的基础。XMPP协议据网上说还是比较优秀的,表现就是google等大公司都在自己的即时通讯产品上。
现在找到了一个包含一些凭证的敏感文件,使用用户名AlexanderK和ClaudiaS引发了不同的错误,存在用户名泄露漏洞。尝试密码列的所有可能组合都无法成功。在这三个用户中,有两个存在,但Blake用户不存在。因此,尝试将与这两个用户相同的模式匹配为完整名字和姓氏的首字母BlakeB,得到了身份验证错误并确认了存在。
Apache Ignite初步认识 今年4月开始倒腾openfire,过程中经历了许多,更学到了许多。特别是在集群方面有了很多的认识,真正开始认识到集群的概念及应用方法。 在openfire中使用的集群解决方案是代理+分布式内存。所谓代理便是通过一个入口转发请求到多个服务实例。而分布式内存就是解决服务实例间数据共享问题。通过这两步就可以搭建出一套水平扩展的集群系统。 openfire使用的分布式内存计算框架是hazelcast,并不了解它,大概只知道它是分布式网格内存计算框架。听许多openfire开发者都
苦恼中寻找方法 在开始做即时通信时就知道了消息回执这个概念,目的是解决通讯消息因为各种原因未送达对方而提供的一种保障机制。产生这个问题的原因主要是网络不稳定、服务器或者客户端一些异常导致没有接收到消息。 因为产品中使用的是openfire和spark的组合,所以一直就想在这个范围内找一个现成的方案,只不过通过阅读一些开发者的总结提到说openfire没有消息回执的方案。于是也看到了别人的方案: 发送者发送消息给服务端 服务端接收到消息后发送回执给发送者 发送者确认收到则结束,如果未收到就重发 服务端将消息记
即时聊天的解决方案 socket: xmpp:xmpp+openfire+asmack 环信 常见协议 比较安全,tcp上还加了俩层 简单聊一下socket socket:套接字,连接需要ip和端口,
// 设置常见的参数 config.setDebuggerEnabled(true);// 开启调试模式,可以看到传输的xml config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);//明文传输
UPDATE `wmq`.`ofProperty` SET propValue='org.jivesoftware.openfire.user.JDBCUserProvider' WHERE name='provider.user.className'; UPDATE `wmq`.`ofProperty` SET propValue='org.jivesoftware.openfire.auth.JDBCAuthProvider' WHERE name='provider.auth.className';
log4j.properties {.brush:xml;toolbar: .true; .auto-links: .false;} log4j.rootLogger=DEBUG, INFO, ERROR # 输出控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.Target=System.out log4j.a
xmpp.jpg XMPP是干嘛的在此就不多探讨了,我也是刚开始尝试着学习。 首先我们把XMPP拉进工程,然后必须导入的几个框架: CFNetwork.framework Security.framework libxml2.dylib libresolv.dylib SystemConfiguration.framework CoreLocation.framework AudioToolbox.framework AVFoundation.framework 运行下不报错就对了
上篇的博客iOS开发之使用XMPPFramework实现即时通信(一)只是本篇的引子,本篇博客就给之前的微信加上即时通讯的功能,主要是对XMPPFramework的使用。本篇博客中用到了Spark做测试,当然也少不了Openfire服务器,在这就不详述Openfire的安装过程了(网上的教程还是蛮多的),Openfire的安装仅需要一个数据库的支持,本篇是用的MySql数据库。当然这不是本篇的重点。 废话少说,切入今天的正题。今天要给之前的微信加入登陆,获取好友列表,聊天(发送文字,表情,图片,声音等功能)
在状态模式的设计方案里,一个主类(称为context类),可以在内部状态变化的时候一次性改变它的「所有行为」,而这个「所有行为」会被我们聚合到不同的类(state1,state2,state3)里面去。
问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事。而且我内心总觉得这可能是tomcat像nginx一
你看今天是(三)对吧,前面肯定有(一)和(二),在发表完iOS开发之使用XMPPFramework实现即时通信(一)和iOS开发之使用XMPPFramework实现即时通信(二)后有好多的小伙伴加我Q或者评论留言提出一些问题,比如:“楼主,在哪注册?”,“楼主,你的登录用户名和密码是多少?”之类的问题。在之前的博客中使用的账号和密码,为了方便,是用spark客户端注册的,在今天的博客中将会详细的介绍如何使用代码注册我们新用户,还有在这感谢关注我的小伙伴们,谢谢你们的支持! 好了,废话少说,说道到注册
1.前言: 近来笔者接到公司的一个IM开发需要,要在原来的Web业务系统、移动端系统上加入一个即时聊天的功能,具有就是能聊天就行。相信各位也会接到需要开发IM的系统的任务,那么,开发一个im系统应选用
一、角色划分 1、MySQL数据库规划 我现在的环境是:zhdy04和zhdy05已经做好了主主架构配置,现在需要的是把两台或者多台从服务器与主一一同步。 如果搭建主主环境,参照此链接! 主机名 IP 地址 角色 Mysql_server_id zhdy04 192.168.230.145 masterA 145 zhdy05 192.168.230.146 masterB 146 zhdy06 192.168.230.147 slaveA 147 zhdy07 192.168.230.148 slaveB
存在问题: 现在各种实时推送消息不时的在我们手机通知里闪烁,而windowphone搞了那么久在加上,实时消息要求的是实时性。在我们开发中如何掌握这种实时模式呢? 解决方案: qq,微信现在肯定是大家离不开的沟通工具了,但是我们是否想过为什么新信息来的时候我们立马就知道了?这就是使用推送来实现的。下面这个文章介绍了android平台下的几种推送方案,有兴趣的可以了解了解。 本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新
Kinsing 威胁组织在不到两个月的时间内发起了 1,000 多次网络攻击,利用内部企业消息应用程序中的安全漏洞上传恶意软件和加密货币挖矿程序。
先从web session的共享说起 许多系统需要提供7*24小时服务,这类系统肯定需要考虑灾备问题,单台服务器如果宕机可能无法立马恢复使用,这必定影响到服务。这个问题对于系统规模来说,从小到大可能面临的难度会相差很大。但对于原理来说其实就是需要准备备份系统随时可以替代正在服务的系统,也就是无论何时都有服务器可以提供服务。也就是灾备系统或者负载均衡。 提供灾备系统或者负载均衡系统都需要面临一个问题,那就是如何解决共享数据的问题。对于web服务器而言首先要解决的就是web session共享问题,比如A服务器
设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台。 系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端、服务器等;二是客户终端。它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所提供的全部功能。三是协议网关。完成XMPP协议传输的信息与外部消息系统可识别信息间的
在线客服系统是一种为用户提供即时支持的工具,通常使用聊天界面或即时消息功能,为用户提供帮助或回答问题。
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧。作用其实也就是由服务端接收到消息然后推送到订阅的客户端。 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息。这样的好处就是有消息后才向客户端推送,相比于拉取数据不会产生许多无效的查询,实时性也高。 xmpp这种即时通信协议基于TCP长连接还是比较符合这种场景的。只需要在服务端增加一个模块用于接收用户订阅与数据的推送就完成了主体功能。 在xmpp协议里可以扩展组件,这样我们写一个组件,然后连接到xmpp服务器,这样就可以
领取专属 10元无门槛券
手把手带您无忧上云