讨论IM软件企业知识—会谈session的概念,附连到IM软件层次图
session通常当今计算机领域,IM软体session。老IM那里有两个:第一个是逻辑层session参与者管理会议。新闻列表,会话类型等;有协议层session。主要代表client随着server有一件事通道。
老IM软件
client跟Server交互的每一类操作都是基于会话。比方client登录,须要建立一个登录的会话;client发消息。须要建立一个会话。以下举例:
client向Server发了一条消息,这条消息的发送就建立在会话之上。client须要以下几个步骤。
1. 创建一个session ID=1。
2. 发第一条消息的sequence id=1,第二条消息sessionID仍是1,可是sequence ID=2以此类推。同一个联系人建立的sessionID不变,sequenceID跟着消息的数量递增。
3. 消息发送完毕后,关闭session。
client发送完消息。须要Server的回执,所以sessionID+sequenceID组成唯一的标识,能够找到发送的这条消息。更新UI的显示。
上面的场景就是所谓的【会话内】消息,主要是发给在线联系人,Server做了特殊处理,这种消息能够非常高速的到达对方。
有了会话内。就有【会话外】:会话外指的是:不须要建立会话,直接发送给对,Server会存储下来等到对方下次上线再发送。
非常明显,会话外的逻辑要比回话外的简单得多!
现状
现代的IM软件应该都是所谓的会话外了。没有协议层的session的概念了,仅仅有逻辑层的session。
现代的协议更聪明了,每个消息都有一个messageID,这种话。
会话的概念就不存在了。client-server之间仅仅有一个socket网络层面的会话了。
附一张IM软件的层次图
protocol.a它是一个速记,事实上,核心库,负责分析和管理协议层。
版权声明:本文博主原创文章,博客,未经同意不得转载。
相关文章
- 【Spring AOP】Spring AOP之你必须知道的AOP相关概念(1)
- 从零开始入门 K8s | Kubernetes 网络概念及策略控制
- ML - 深度学习之美十四章-概念摘要(1~7)
- Maven - Maven基础概念和操作总结
- 重新整理操作系统概念系类——操作系统的运行机制和体系结构
- 分布式事务系列(2.1)分布式事务的概念
- 重新整理操作系统概念系类——死锁
- 重新整理操作系统概念系类——进程互斥软件实现
- 重新整理操作系统概念系类——处理机调度
- 基于python/scipy学习概率统计(0):基础概念
- SAP ABAP Netweaver 里的 ABAP 会话概念
- SAP Commerce Cloud CMS page 和 page template 的概念
- Atitit it与互联网 的技术体系 目录 1. 概念范围 硬件 软件 应用1 1.1. 职业分类2 1.1.1. 软件类2 1.1.2. 硬件类2 1.1.3. 网络类2 1.1.4.
- Atitit uri url格式规范与解析器 .URIparser 理解URI和URL的区别,我们引入URN这个概念。 URI = Universal Resource Identifier 统一资
- Atitit WebDriver技术规范原理与概念
- MCS-51单片机的定时器/计数器概念 非常好的寄存器关系图
- Sony S-LOG2/3 概念澄清