2015年2月2日
摘要: HttpSessionManager该类管理所有通过httpbing连接到openfire的议定。它是一个同步http的双向流http://www.xmpp.org/extensions/xep-0124.html构造方法:HttpSessionManager()配置一个汇集执行者对异步路由传进来的... 阅读全文
posted @ 2015-02-02 21:45 Spark_莫然 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 下面是下部分C2S1、当有客户端进行连接时根据Mina框架的模式首先调用的是sessionOpened方法。sessionOpened首先为此新连接构造了一个parser(XMLLightWeightParser),这个parser 是专门给XMPPDecoder(是XMPPCodecFactory... 阅读全文
posted @ 2015-02-02 21:22 Spark_莫然 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 关于连接管理分为上下两部分连接管理在大并发环境下,连接资源 需要随着用户并发访问量的增加而增加,所以可伸缩的连接资源就是支持大访问量的关键技术。openfire系统通过增加独立部署的连接管理器程序提高并发的能力,连接管理的前端是一台负载均衡设备,它负责把用户访问分配到指定连接管理器,多台连接管理器在... 阅读全文
posted @ 2015-02-02 21:12 Spark_莫然 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: 关于缓存,openfire存储到了本地JVM中。本人认为这样并不是很好。以后会讲一篇Redis的缓存。实际应用中,本人讲openfire诸多缓存内容放置了redis中。这里就看看openfire自己的缓存吧。Cache接口类图:Cache接口继承了Map工具类,它存储相关的对象在内存中独特的键、值队... 阅读全文
posted @ 2015-02-02 21:00 Spark_莫然 阅读(474) 评论(0) 推荐(0) 编辑
摘要: MUC房间属性设置以上属性存储在MUCPersistenceManagerprivate staticConcurrentHashMap propertyMaps =newConcurrentHashMap();创建房间客户端创建房间案例第一:客户端发出查询请求 服务器将数据包发送到托管在该服务器... 阅读全文
posted @ 2015-02-02 20:39 Spark_莫然 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: Group在openfire中的gorop——组,也可以理解为共享组。什么叫共享组呢。当有一个组名字为“学习组”,当其他用户加入这个组的时候,那么他们会自动成为相互的好友。实际上在openfire内,用户的好友不仅仅只是花名册,还包括共同在一个组的成员。当然这个组有很多好处。比如,那我们公司做的一个... 阅读全文
posted @ 2015-02-02 20:28 Spark_莫然 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 用户注册注册流程:1、客户端进行握手给服务端发送连接消息:2、服务端回执:DIGEST-MD5JIVE-SHAREDSECRETPLAINANONYMOUSCRAM-MD5zlib3、客户端发送注册申请4、服务端给出注册需要的填写的信息,相当与给客户端发送一个申请单XMPP Client Regis... 阅读全文
posted @ 2015-02-02 20:21 Spark_莫然 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 登陆登陆认证,客户端发送认SASL证消息:服务器得到客户端给出的SASL认证机制回答。首先将它存储起来。C给出的认证机制为DIGEST-MD5,又服务器发起盘问。cmVhbG09IjhudG1vcnYxZXA0d2djeSIsbm9uY2U9InpydUNlS000YXJQU3N3Tm1MVFRac... 阅读全文
posted @ 2015-02-02 20:11 Spark_莫然 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: openfire启动ServerStarter启动流程图:启动的总入口在ServerStarter的main方法中。通过上图首先它会先加载它所需要的jar文件。最后通过java反射机制将XMPPServer加入当前线程。Thread.currentThread().setContextClassLo... 阅读全文
posted @ 2015-02-02 20:01 Spark_莫然 阅读(729) 评论(1) 推荐(0) 编辑
摘要: Mina概述Apache MINA(Multipurpose Infrastructure for NetworkApplications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的... 阅读全文
posted @ 2015-02-02 19:46 Spark_莫然 阅读(774) 评论(0) 推荐(0) 编辑