2015年2月3日
摘要: 这一篇紧接着上面继续了。方案二基于redis的消息回执。主要流程分为下面几个步骤:1)将消息暂存储与redis中,设置好消息的过期时间2)客户端回执消息id来消灭暂存的消息3)开通单独线程论坛在第1)步中的消息。根据消息的时间重新发送消息。如果消息第一次存放的时间大雨有效期(自定义10秒),解析消息... 阅读全文
posted @ 2015-02-03 22:28 Spark_莫然 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 在上一篇提到了4个问题,现在开始回答第三个第四个问题。由于篇幅问题。这里就设置成了上下两篇消息回执这个是第三个问题,如何做消息回执。消息回执分为两种:1、普通消息2、延迟消息3、离线消息普通消息普通消息是客户端正常的点对点发送聊天消息。格式大致如下:.......客户端接收到系统发送的消息后,应该回... 阅读全文
posted @ 2015-02-03 22:15 Spark_莫然 阅读(1021) 评论(0) 推荐(0) 编辑
摘要: 消息处理之前有说过,openfire的消息处理策略本人并不是很喜欢。先看下openfire上脱机消息策略。个人认为消息关于会话的消息,用户的存储量应该无限大。服务器不应该被消息吃撑了。所谓聊天通讯,这一关很重要。Openfire的消息是什么流程呢。1、当用户登陆连接的时候。握手、认证、绑定资源、获取... 阅读全文
posted @ 2015-02-03 22:07 Spark_莫然 阅读(633) 评论(0) 推荐(0) 编辑
摘要: 用户名片在预初始化中,贴出来用户名片的程序。这里也一样不在重复。首先同样先修改系统属性:provider.vcard.className org.jivesoftware.util.redis.expand.RedisVCardProvider然后需要修改VCardManager名片管理这个类。Re... 阅读全文
posted @ 2015-02-03 22:01 Spark_莫然 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 用户类优化用户主要是要解决用户的连接量。已经对用户的访问速度和吞吐量。预初始化在前面的带面中提出来了用户的预初始化。这里就不在贴出来了。下面将redis用户库连接池处理贴出来UserJedisPoolManagerpublic class UserJedisPoolManager extends B... 阅读全文
posted @ 2015-02-03 21:58 Spark_莫然 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Redis插件实现首先来看下插件目录:RedisServicePlugin源码清单:import java.io.File;import java.sql.Connection;import java.sql.PreparedStatement;import java.util.Collection... 阅读全文
posted @ 2015-02-03 21:51 Spark_莫然 阅读(528) 评论(0) 推荐(0) 编辑
摘要: Redis插件介绍Redis是目前比较流行的NO-SQL,基于K,V的数据库系统。关于它的相关操作信息,本人这里就不做重复了,相关资料可以看这个网站http://www.redis.io/(官网)、http://www.redis.cn/(中文站)。这里本人想说的是,拿Redis做openfire的... 阅读全文
posted @ 2015-02-03 21:47 Spark_莫然 阅读(569) 评论(0) 推荐(1) 编辑
摘要: IOS离线推送场景:如果您有IOS端的APP,在会话聊天的时候,用户登陆了但可能会退出了界面。这时候其他终端给目标端发送消息时候,消息可以发送到IOS的推送服务器。用过QQ的都知道,你会有哦一条消息在您的主屏上展示。这个就是利用了IOS的推送服务器呢。那么openfire只需要判断用户不在线的时候将... 阅读全文
posted @ 2015-02-03 21:35 Spark_莫然 阅读(961) 评论(2) 推荐(0) 编辑
摘要: HTTP Service插件这里的http接口插件是神马?Openfire主要是在消息推送,那么与其他系统的的消息怎么结合呢,那么这里这个HTTP Service插件就提供了一个基于HTTP的接口。为什么要提供这样的接口?在有些互联网的场景。一个用户平台可以是web的,当然也会有移动终端的APP,那... 阅读全文
posted @ 2015-02-03 21:13 Spark_莫然 阅读(353) 评论(0) 推荐(0) 编辑