
Openfire
文章平均质量分 88
yezis
这个作者很懒,什么都没留下…
展开
-
openfire插件开发
二、示例插件的功能 这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息。 三、插件开发的目录结构设计 我们先看一下openfire源码的插件开发目录结构:原创 2014-07-31 10:41:22 · 814 阅读 · 0 评论 -
openfire--好友管理各种状态纠结
好友花名册官方解析:ofRoster (buddy rosters or lists)Column Name Type Length DescriptionrosterIDNUMBERn/aID of roster (Primary Key)usernameVARCHAR32User NamejidTEXTn/转载 2015-12-22 13:47:30 · 1443 阅读 · 0 评论 -
openfire3.10.2部署实时步骤
今天在家没什么事情,就尝试着把openfire3.10.2的源码部署一下,并且一边部署一边写一下过程。开始的步骤依旧:1、下载源码;2、解压,并修改文件夹名字为openfire3、把openfire\build\eclipse的文件拷贝到openfire目录下4、把classpath、project文件修改为 .classpath、.project5、把导入到eclip原创 2015-10-27 00:49:32 · 1736 阅读 · 0 评论 -
openfire因为网络不稳定而造成消息丢失的解决方案
1 2C1 ------- S ------- C2消息丢失状态:C1在线,但C2因为网络问题,或是进程被杀死,并且此时服务器还没及时发送ping 进行判断C2是否在线。 第一种情况:此时,当C1向C2发送消息时,步骤1可以顺利完成,而由于此时S并不知道C2已离线,会和正常情况一样发送消息至C2,但是S不会收到来自步骤2产生的任何错误与提示,S则原创 2015-10-27 18:38:39 · 4508 阅读 · 0 评论 -
构建可调试的openfire插件
在http://blog.youkuaiyun.com/yezis/article/details/38313151中,以及很多博文都写过关于openfire的插件开发方式,都是新建一个项目去编写openfire插件,一开始我也是用的这种方式,后来放弃了,因为当插件功能趋于复杂后,不能调试是一个很大的问题,所以,我换了一种开发openfire插件的方式。首先,必须使用openfire的源码,这是必须的,具原创 2015-10-27 21:37:42 · 2135 阅读 · 0 评论 -
openfire 源码的安装与部署测试
最近公司项目在openfire上面的问题追的很紧,都是别人肯剩下的骨头,不是没有资料,就是原创 2014-09-19 23:10:26 · 3294 阅读 · 1 评论 -
openfire杂项(小而重要)
1、在安装openfire时,要把mysql设置为不区分大小在Linux 中 /etc/my.cnf 文件中 在[mysqld]下面加上lower_case_table_names=1 如果不修改此设置 mysql的表 ofUser与ofuser是同时存在的 2、 在配置openfire时,遇到“域”的时候要注意 这个域的作用类似域名的作用,默认为计算机名称,不能原创 2015-02-06 17:11:30 · 1247 阅读 · 0 评论 -
openfire报错及处理方法
一、openfire配置完,运行时报如下错误:原创 2014-09-20 15:44:36 · 2370 阅读 · 2 评论 -
openfire拦截器
在javaweb中有拦截器,struts有拦截器,spring mvc有拦截器,程序结构中的拦截器可以起到拦截特定需要信息的功能,那么openfire有没有自己的拦截器呢?肯定有啊,要不我写什么啊?纵观openfire消息的处理流程,可以看到下图内容:这一排并列的三个是openfire处理不同类型xmpp节点的路由方法(此“路由”作动词),路由方法中,前后都使用了I原创 2015-02-06 18:03:40 · 1637 阅读 · 0 评论 -
openfire使用自定义表登陆
因为项目需要,项目中的用户名可以不唯一,所以项目中的openfire不能使用ofuser表中的username进行登录,经过商议,两种办法解决:1、标记username字段中的内容,比如,原用户名为yezi,标记后yezi#h,这个h是我们项目区分不同用户名的方式,这个方式没有技术,不细说了;2、在ofuser中添加一个字段(因为我们一直在使用ofuser表),字段名为userID,主键,原创 2014-12-17 16:26:29 · 1562 阅读 · 0 评论 -
Smack Message 扩展属性
由于XMPP不支持群聊很多本地化的服务,针对Openfire开发插件解决问题:Message 扩展:Message videoMsg = new Message();VideoChatRTP videoXml = new VideoChatRTP();//扩展类型videoXml.setVideoType(VideoMediaType.REQUEST);转载 2015-02-04 15:18:17 · 1383 阅读 · 0 评论 -
openfire xmpp sasl 浅析
SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。在Postfix可以利用SASL来判断用户是否有权使用转发服务,或是辨认谁在使用你的服务器。SASL提供了一个通用的方法为基于连接的协议增加验证支持,而XMPP使用了一个普通的XML名字空间来满足SASL的需要。在xmpp协议下客户端和服务器端的交换报文转载 2015-01-13 13:29:16 · 1588 阅读 · 0 评论 -
关于openfire的用户不能正常登陆的解决方法
关于openfire的用户不能正常登陆的解决方法 一、问题原因:这个问题因为前两天团队需要更改服务器linux的密码与mysql数据库的密码,修改mysql数据库的密码后,需要连接mysql数据库的项目都要进行修改密码的操作,在openfire这面,就需要重新配置,重新配置后,openfire的服务器名称并没有配置,为计算机默认名称 当客户端需要登录openfire时,会向op原创 2014-10-22 14:11:11 · 5780 阅读 · 1 评论 -
openfire后台密码错误的处理
这两天公司要把数据库的密码修改一下,之后openfire的数据库连接也需要改,但是改之后openfire的后台就怎么也登陆不上了,把数据库中的密码反编译之后密码也没有错误,之后想办法重置了一下密码,方法如下:找到openfire的安装目录,这里是/opt/openfire,在安装目录下的conf文件夹中找到openfire.xml文件,打开,这里截取关键部分openfire.xml原创 2014-10-20 20:12:47 · 3373 阅读 · 2 评论 -
openfire 源码分析 session & connection
今天学习openfire的 connect, session, sessionManager, routingtable创建连接的入口在 org.jivesoftware.openfire.nio.ConnectionHandler.sessionOpened中sessionOpened 做的事情有 生成一个xmlParser、NIOConnection, StanzaHan原创 2014-10-10 10:18:13 · 814 阅读 · 0 评论 -
smack登陆
package test;import org.jivesoftware.smack.Chat;import org.jivesoftware.smack.ConnectionConfiguration;import org.jivesoftware.smack.XMPPConnection;import org.jivesoftware.smack.XMPPException;pu原创 2014-09-04 13:54:55 · 627 阅读 · 0 评论 -
smack发送和接收信息
/** *发送消息 *@param con 用户连接对象 *@param user 用户JID *@param msg 发送内容 */ @Override public synchronized void sendMessages(XMPPConnection con,String user, String msg) { if (nu原创 2014-09-04 13:56:21 · 2676 阅读 · 1 评论 -
openfire 自动添加好友
根据openfire源码的提供,其中SubscriptionPlugin这个插件已经实现了自动添加了好友的功能,但好我项目的的要求还是有些不一样,我根据源码中的内容自己编写了一个插件,关键代码如下:public static void acceptSubscription(Packet packet ,PresenceRouter router) throws PacketRejectedEx原创 2015-12-22 14:20:56 · 1945 阅读 · 1 评论