jabberd2消息流
来源:互联网 发布:部队网络保密分析 编辑:程序博客网 时间:2024/05/13 07:20
c2s:客户端连接的组件,可以多个域公用。
route:route组件,主要处理消息转发。一套服务只有一个
sm:jabberd2的核心组件,消息处理组件。每个域需要配置至少一个sm组件,一个sm组件只能对应一个域。看代码,一个域应该可以配置多个sm。
jabberd2消息流分析:
A@hqu.edu.cn 发送一条消息给 B@hqu2.edu.cn 。
1、clientA发给连接的c2s组件
2、c2s组件加了一条route信息<route xmlns='http://jabberd.jabberstudio.org/ns/component/1.0' from='c2s' to='hqu.edu.cn'>,发给route组件。
3、route组件 查找到hqu.edu.cn所属的sm(hqu.edu.cn),将消息转发给sm(hqu.edu.cn)
4、sm(hqu.edu.cn)调用模块处理消息后,修改route信息为<route xmlns='http://jabberd.jabberstudio.org/ns/component/1.0' from='hqu.edu.cn' to='hqu2.edu.cn'>,将消息发给roue
5、route组件查找到hqu2.edu.cn所属的sm(hqu2.edu.cn),将消息发给sm(hqu2.edu.cn)
6、sm(hqu2.edu.cn)调用模块处理消息后,修改route 信息为<route xmlns='http://jabberd.jabberstudio.org/ns/component/1.0' from='hqu2.edu.cn' to='c2s'>,讲消息发给route
7、route组件查找到c2s,将消息发给c2s
8、c2s组件去掉route信息,将消息发给clientB
9、clientB接收到消息。
clientA: hqu.edu.cn
||
c2s
|
|
----------------------------
|R:from='c2s' to='hqu.edu.cn'|
|W:from='c2s' to='hqu.edu.cn'| route
|-----------------------------
|
sm(hqu.edu.cn)
|
-----------------------------------
R:from='hqu.edu.cn' to='hqu2.edu.cn'|
W:from='hqu.edu.cn' to='hqu2.edu.cn'| route
------------------------------------
|
|
|sm(hqu2.edu.cn)
|
----------------------------|
R:from='hqu2.edu.cn' to='c2s'|
W:from='hqu2.edu.cn' to='c2s'| route
-----------------------------
|
c2s
|
clientB
- jabberd2消息流
- Jabberd2安装
- Jabberd2 MySQL数据库结构
- Jabberd2源代码分析: JID
- jabberd2 系统架构
- Jabberd2源代码分析:pool
- Jabberd2源代码分析:spool
- Jabberd2源代码分析: SX
- Jabberd2源代码分析: MIO
- 搭建jabberd2服务器
- linux jabberd2笔记
- jabberd2 服务器启动脚本
- jabberd2 安装配置
- 使用vc编译jabberd2服务器
- 看jabberd2代码一些总结
- Jabberd2源码分析: 客户端BIND
- 在Windows上编译jabberd2
- Jabberd2:安装和管理指南
- git命令行把本地工程上传到git库
- PHP中各类型数据转换为bool型时为false的总结
- C#基础知识
- Windows下安装hadoop并集成到myeclipse开发环境
- solr标签使用
- jabberd2消息流
- offices2013的破解
- windows 服务 SCM学习笔记
- HDU1845 Jimmy’s Assignment(最大匹配)卡时间
- Java学习笔记之Serializable接口
- 关于设置background属性图片不显示的原因
- 《剑指Offer》学习笔记--面试题33:把数组排成最小的数
- MYSQL常用命令
- android Intent机制详解