Openfire 连接会话对象模型

     连接会话模型是本系统的重要对象模型,也是很多其它同类系统的基础,如HTTP应用服务器,它们都是有相似的会话概念来实现代表在线用户。没有连接、会话这模型就不能实现数据包的路由和用户连接的扩展,也就实现不了伸缩性。其中连接主要是用于保存和用户有关的网络连接数据,会话主要是用于保存和用户有关的业务数据,连接、会话之间是有关连的。

    系统对连接、会话进行了抽象,分别实现了非连接管理器的类和连接管理器的类,以下是会话和连接接口的定义。
    Session接口定义了:JID、StreamID、会话状态、创建时间、最后活约时间、客户端发送包计数、服务端发送包数、关闭会话、发送包。ClientSession接口继承自Session接口,定义了:活约列表、默认列表、获取用户名、能否洪水发送落线信息、是否匿名、是否在线、冲突计数。
    Connection接口定义了:连接的特性,包括客户端的ip,主机名、是否Flash客户端、使用的压缩协议、TLS协议、XMPP版本、注册关闭连接监听、发送数据包。
    ioSession、Connection、Session的关系是一个连接对象会引用一个ioSession来实现数据包的发送,连接和会话之间相互引用。这是连接会话模型的顶层抽象,在使用连接管理器和无使用连接管理器下,分别对Connection和Session做了不同的实现,在非连接管理下能过NIOConnection类实现了Connection,LocalClientSession类实现了Session。在连接管理器下通过VirtualConnection扩展了Connection接口,在通过ClientSessionConnection类实现,通过ConnectionMultiplexerSession扩展了LocalSession,在通过LocalConnectionMultiplexerSession实现。

 

Author: 红萝卜OO

Blog: http://my.oschina.net/happydcarrot/

转载于:https://my.oschina.net/happydcarrot/blog/123085

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值