Openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。
测试下Oopenfire相关应用,使用Openfire+Spark搭建一个简单的在线咨询服务,有点类似阿里旺旺,可以Web页面在线咨询,也可以加为好友在PC客户端中咨询。
使用openfire的时候如果需要使用自己的mysql数据库,需要提前进行设置,下面将记录下,基本的设置过程。 一、前期准备工作: 1、先下载两个工具一个是mysql数据库还有一个是SQLyog(可以
Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平台(windows,linux,max os)管理Java进程,管理JVM,启动停止,开机启动,管理内存溢出的异常 标准版还可以发错误日志email,检测死锁 比自己写个启动脚本更为方便通用稳定,后台服务可以考虑使用JSW。 这里使用免费的社区版,可以先直接跑一下demo看效果。 基本原理就是 java o
openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。
有篇关于Openfire导入到IntelliJ IDEA的文章(http://www.linuxidc.com/Linux/2015-01/112313.htm),不过在我导入的过程中,感觉还可以再简化一些,所以重新整理如下(需要预先已经安装了Java SDK,这里我用的是SDK1.7):
在之前的文章《Openfire阶段实践总结》中提到过一种openfire的扩展模式Compoent。本文将主要探讨对这种模式的应用与开发方法。 内部与外部组件介绍 在openfire中的许多插件都实现了Compoent,Compoent的灵活性在于它可以通过对特定的二级子域包进行处理。在XMPP协议中最为明显的使用场景就是群聊,这就是一个典型的例子。看看openfire中的聊天室JID都是什么格式:room1@conference.domain,很明这里多了一个conference。对比用户的JID:u
说明 本文源码基于Openfire4.0.2。 Openfire的启动 Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个XMPPServer实例。 下面就是ServerStarter.start方法的代码片断: Class containerClass = loader.loadClass("org.jivesoftware.openfire.XMPPServer"); containerClass.newInstance(); 这样一个o
http://igniterealtime.org/downloads/index.jsp
用MyEclipse部署Openfire的步骤,网上有很多,可以自行google,这里要记录的是用据说最好用的JAVA编辑器IntelliJ IDEA来部署Openfire服务端。试了好多下,终于成功了,记录下。
Openfire 是根据开放源 Apache 许可获得许可的实时协作(RTC)服务器,它使用唯一被广泛采用的用于即时消息的开放协议 XMPP(也称为 Jabber)。
Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。所以常常被
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
http://blog.csdn.net/shimiso/article/details/8816558
修改openfire的配置有两种途径: 1:修改安装目录/conf/openfire.xml。 2:直接修改openfire数据库的ofProperty表。 但是一般都建议修改openfire.xml文件,该文件如果配置正确,openfire重启后会自动将该文件里的属性值写入ofProperty表,同时会擦除自己添加的配置,只剩标签(除了默认配置)。如图:
从3月开始研究Openfire,其实就是要做一套IM系统,也正是这个原因才了解到Openfire。之前还真没想过有这么多的开源产品可以做IM,而且也没想到XMPP这个协议竟然如何强大。看来还是标准为先,好的标准可以推动产业发展啊。 Openfire的搭建与简单的demo之前写过篇《技术笔记:XMPP之openfire+spark+smack》,当时主要关注的怎么让这套体系跑起来吧,只不过现在还是在这个阶段,只是多学了点东西留下点笔记吧。 1、对于XMPP的学习很重要 最开始觉得搭建一套Openfire+sp
1、下载源代码:http://www.igniterealtime.org/downloads/source.jsp 2、把源代码解压出的openfire_src文件夹放至eclipse workpl
测试机4台 1.四台机器都安装openfire,随即一台安装mysql,执行openfire_mysql.sql脚本。 2.四台机器都配置到同一个mysql机器上(不能使用openfire内嵌的数据库),使用同一个域名。 3.四台机器都安装
所以我基本上分为三篇文章来介绍此类软件的开发: 第一篇是关于XMPP 协议是啥,IM 是啥以及一个比较有名的开源实现,该开源实现包括三个部分(Spark、Smack和Openfire); 第二篇讲如何开发基于Spark 的客户端IM 插件部分; 第三篇讲如何开发基于Openfire 服务器端的插件部分。 好了,进入正题吧。 什么是XMPP? Extensible Messaging and Presence Protocol,简单的来讲,它就是一个发送接收处理消息的协议,但是这个协议发送的消息,既不是二进
如果用户量增加后为了解决吞吐量问题,需要引入集群,在openfire中提供了集群的支持,另外也实现了两个集群插件:hazelcast和clustering。为了了解情况集群的工作原理,我就沿着openfire的源代码进行了分析,也是一次学习的过程。 首先理解集群的一些简单概念 集群的目的是让多个实例像一个实例一样运行,这样就可以通过增长实例来增长计算能力。也就是所谓的分布式计算问题,这其中最为关注的一个特性就是——CAP理论,也就是所谓的一致性、可用性、分区容错性。集群中最核心解决的问题就是CAP。 CAP
OpenFire 是采用Java开发的基于XMPP(Jabber)协议,开源实时协作(RTC)服务器。
一转眼发现博客里积累了不少文章,特别是这两年开始发现写博客也是一种提升自己技术能力的方法。这就和写代码一样,因为会让大脑思考,时间长了就会留下记忆。所以很多的高手都是通过这样的不断的重复训练来的。 也就是为什么一些快速成长的公司更容易产生大牛,因为如果初始的员工本身不够牛,业务很难大发展。底子在那里,加上各种实战自然就成长的快,时间长了不牛才怪。当然大牛的人还要会沉淀、思考、修正、分享,这或许是写博客的一个意义所在吧。 java开发相关 Tomcat shutdown执行后无法退出进程问题排查及解决 记一次
应该是去年的时候开始接触openfire,当时在分析后发现基于xmpp协议的openfire已经具备了群聊的功能。也就没太当回事,觉得加点功能就可以做成类似于QQ群的那种模式。后来仔细了解后才发现并不是这么简单:
Openfire 是 Ignite Realtime 支持的 Jabber 服务器。它是一个跨平台的 Java 应用程序,它将自己定位为一个供中型企业控制内部通信并使即时消息传递更容易的平台。
一次偶然的机会发现某台Web服务器被黑了之后被植入了挖矿病毒,然后忙活了好久清理完病毒之后就开始思考思考到底是怎么被黑的,俗话说的好死要死得明白。
现在找到了一个包含一些凭证的敏感文件,使用用户名AlexanderK和ClaudiaS引发了不同的错误,存在用户名泄露漏洞。尝试密码列的所有可能组合都无法成功。在这三个用户中,有两个存在,但Blake用户不存在。因此,尝试将与这两个用户相同的模式匹配为完整名字和姓氏的首字母BlakeB,得到了身份验证错误并确认了存在。
更新:2017年8月1日 实在是抱歉,git上的Demo这么久,有问题自己没有发现!肯定给大家造成过不方便,抱歉!git上Demo刚重新上传,要有需要的可以去下载,要有问题可以直接找我QQ联系我! 最近在总结Socket方面的知识,等文章写完会发不来,这篇文章是去年什么四五月份写的吧,那是水平也是有限,希望接下来能总结的比这篇好一点!! 在Demo中,XMPP接收发送消息这一块的代码我暂时是删除了,仿照微信的聊天框架是在的,你要想通过XMPP自己在项目中试试,你需要的也就是在Dem
现在很多软件都加入了聊天功能,也有许多公司直接提供了app聊天的组件,简单集成就行,但是弊端在于组件一是要收费,二是不灵活,没法自定义
苦恼中寻找方法 在开始做即时通信时就知道了消息回执这个概念,目的是解决通讯消息因为各种原因未送达对方而提供的一种保障机制。产生这个问题的原因主要是网络不稳定、服务器或者客户端一些异常导致没有接收到消息。 因为产品中使用的是openfire和spark的组合,所以一直就想在这个范围内找一个现成的方案,只不过通过阅读一些开发者的总结提到说openfire没有消息回执的方案。于是也看到了别人的方案: 发送者发送消息给服务端 服务端接收到消息后发送回执给发送者 发送者确认收到则结束,如果未收到就重发 服务端将消息记
python是脚本语言,简单,好用!Web开发,特别是面向互联网的应用开发,现在是Python的应用性能比较领先。
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';
在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的。所以还是想在这个领域多多了解一下。 XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是。简单的说就是基于XML的一种协议。其解决了什么问题呢?就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时通信的功能。有了标准的好处就是可以有各种不同的实现,大家在这个标准上发展自己的特长。而且还给即时通信提供了互联互通的基础。XMPP协议据网上说还是比较优秀的,表现就是google等大公司都在自己的即时通讯产品上。
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 运行下不报错就对了
在状态模式的设计方案里,一个主类(称为context类),可以在内部状态变化的时候一次性改变它的「所有行为」,而这个「所有行为」会被我们聚合到不同的类(state1,state2,state3)里面去。
问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事。而且我内心总觉得这可能是tomcat像nginx一
Apache Ignite初步认识 今年4月开始倒腾openfire,过程中经历了许多,更学到了许多。特别是在集群方面有了很多的认识,真正开始认识到集群的概念及应用方法。 在openfire中使用的集群解决方案是代理+分布式内存。所谓代理便是通过一个入口转发请求到多个服务实例。而分布式内存就是解决服务实例间数据共享问题。通过这两步就可以搭建出一套水平扩展的集群系统。 openfire使用的分布式内存计算框架是hazelcast,并不了解它,大概只知道它是分布式网格内存计算框架。听许多openfire开发者都
你看今天是(三)对吧,前面肯定有(一)和(二),在发表完iOS开发之使用XMPPFramework实现即时通信(一)和iOS开发之使用XMPPFramework实现即时通信(二)后有好多的小伙伴加我Q或者评论留言提出一些问题,比如:“楼主,在哪注册?”,“楼主,你的登录用户名和密码是多少?”之类的问题。在之前的博客中使用的账号和密码,为了方便,是用spark客户端注册的,在今天的博客中将会详细的介绍如何使用代码注册我们新用户,还有在这感谢关注我的小伙伴们,谢谢你们的支持! 好了,废话少说,说道到注册
上篇的博客iOS开发之使用XMPPFramework实现即时通信(一)只是本篇的引子,本篇博客就给之前的微信加上即时通讯的功能,主要是对XMPPFramework的使用。本篇博客中用到了Spark做测试,当然也少不了Openfire服务器,在这就不详述Openfire的安装过程了(网上的教程还是蛮多的),Openfire的安装仅需要一个数据库的支持,本篇是用的MySql数据库。当然这不是本篇的重点。 废话少说,切入今天的正题。今天要给之前的微信加入登陆,获取好友列表,聊天(发送文字,表情,图片,声音等功能)
1.前言: 近来笔者接到公司的一个IM开发需要,要在原来的Web业务系统、移动端系统上加入一个即时聊天的功能,具有就是能聊天就行。相信各位也会接到需要开发IM的系统的任务,那么,开发一个im系统应选用
即时聊天的解决方案 socket: xmpp:xmpp+openfire+asmack 环信 常见协议 比较安全,tcp上还加了俩层 简单聊一下socket socket:套接字,连接需要ip和端口,
// 设置常见的参数 config.setDebuggerEnabled(true);// 开启调试模式,可以看到传输的xml config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);//明文传输
排查问题 编码 编号 问题原因 PW_SQL_FAIL 10000 数据库出错 PW_UNSUPPORT_SOFTPHONE 10001 不支持SOFTPHONE PW_UNSUPPORT_IVR 10002 不支持IVR PW_DEVICE_NOTFOUND 10011 设备没找到 PW_DEVICE_EMPTYUSER 10012 空的用户名 PW_DEVICE_MACREJECT 10013 MAC地址出错 PW_DEVICE_PASSWDREJECT 10014 密码出错 PW_DEVICE_FOR
SkeyeVSS国标视频融合云平台基于端-边-云一体化架构,部署轻量简单、功能灵活多样,平台可支持多协议、多类型设备接入,包括国标GB28181、RTMP、RTSP/Onvif等,2023年我们将拓展更多SDK接入,包括海康SDK、大华SDK、海康Ehome协议、华为SDK、宇视SDK、萤石SDK、乐橙SDK。
1 SBC:IMS网络边缘用于实现IP接入,互通和安全保护的网元,存在于接入网络与IMS网络之间或不同IMS网络之间,是用户接入IMS的入口点。SBC作为B2BUA将用户和IMS核心网进行隔离。
Kamailio:https://www.kamailio.org/(起源于SER)是一个开源的SIP服务器,主要用作SIP代理服务器、注册服务器等,即只处理信息,不处理媒体。如果你听说过FreeSWITCH:http://freeswitch.org.cn/或Asterisk,他们是典型的SIP B2BUA,主要用于VoIP媒体相关的处理。
注册直接贴个流程图吧,这里跟GB28181一致的。图片参考信令:步骤1 REGISTER sip:010090000000000000@111.203.3.78:21112 SIP/2.0 Via: SIP/2.0/UDP 100.106.180.41:15060;rport;branch=x5hG8bK235 From: <sip:010090016701000000@01009000>;tag=3723455366 To: <sip:010090016701000000@0100
友情提示:初次接触SIP(Session Initiation Protocol)协议的同学,强烈建议先将文末参考文章中的链接,先看至少二遍!
SIP(Session Initiation Protocol)协议是一种用于建立、修改和终止多媒体通信会话的通信协议。在互联网电话、视频会议、即时消息传递和多媒体通信等领域,SIP协议得到了广泛的应用。可以说,SIP协议已成为目前通信系统协议的主流,尤其在5G移动通信中,SIP协议更是作为基础。
领取专属 10元无门槛券
手把手带您无忧上云