一步一步学习openfire+spark(2)——介绍几个概念
2014-07-22 17:54
288 查看
1:消息服务器
以openfire为例,介绍它的主要功能。
(1)所有的消息都由要经过消息服务器,包括客户端和客户端之间的通信,其实消息服务器就是做了一个中转的作用,当然也可以监控客户端。
(2)实时了解客户端情况,通过心跳的方式,了解客户端在线,忙碌,离线等状态,也可以强制客户端下线。
(3)
管理插件,openfire服务器也是基于插件开发的,你可以开发你自己的插件,只要符合openfire的规范就行,插件最终编译成一个jar包,只要放到openfire指定目录下就能运行,插件可以说是一个单独的应用。比如你可以编写一个自己的考勤系统,通过客户端来查看系统的考勤。
(4)给客户端推送消息,openfire基于mina框架,可以高效的推送各种消息或者文件。
2:客户端
客户端是安装在电脑上的,具体完成功能的应用。光有了消息是不够的,收到消息客户端要做什么,这个就是客户端实现的功能,比如你可以在客户端编写一个关机的功能,一旦服务器给客户端推动了一个代号为001的消息,客户端就关机。
3:XMPP
XMPP是一种通信协议,本身没有什么高深的东西,只要遵守这个规范就行。你可以想象,要通信,就和我么要写信一样,写信要有谁写的,发给谁,写的内容是什么,信的类型,比如是挂号信还是普通的,这些属性用的时间长了,有人发现如果一个一个的使用tcp传递,太费劲了,那么咱们就做一个xml格式的流,这个xml有我们所要的全部信息,也就是一个信件。这样一次就搞定,不用反复通信。邮局(openfire)拿到这个信以后,一看就知道是从哪里来,要到哪里去,然后就发给接受者,当然邮局有保留不发的权利(比如信封里面有危险化学品,泄漏以后导致1死8伤的)
。对方接受到信以后,看看信里面的内容,就知道要干啥了,干完以后,再给个回信。表示是否成功。
整个过程就是这样。
既然是协议,只是一个标准,必须要实现的。openfire和spark是基于smack的,smack实现了xmpp协议,封装了发送和接受、解析协议的一些方法。
详细请看百度百科:
http://baike.baidu.com/link?url=qiGoFhzd0KxFteIeD9TVT17D0qSzOO_B47SD1NRrN9g49G1uGbdqSPKJ7Jh4cdGo
以openfire为例,介绍它的主要功能。
(1)所有的消息都由要经过消息服务器,包括客户端和客户端之间的通信,其实消息服务器就是做了一个中转的作用,当然也可以监控客户端。
(2)实时了解客户端情况,通过心跳的方式,了解客户端在线,忙碌,离线等状态,也可以强制客户端下线。
(3)
管理插件,openfire服务器也是基于插件开发的,你可以开发你自己的插件,只要符合openfire的规范就行,插件最终编译成一个jar包,只要放到openfire指定目录下就能运行,插件可以说是一个单独的应用。比如你可以编写一个自己的考勤系统,通过客户端来查看系统的考勤。
(4)给客户端推送消息,openfire基于mina框架,可以高效的推送各种消息或者文件。
2:客户端
客户端是安装在电脑上的,具体完成功能的应用。光有了消息是不够的,收到消息客户端要做什么,这个就是客户端实现的功能,比如你可以在客户端编写一个关机的功能,一旦服务器给客户端推动了一个代号为001的消息,客户端就关机。
3:XMPP
XMPP是一种通信协议,本身没有什么高深的东西,只要遵守这个规范就行。你可以想象,要通信,就和我么要写信一样,写信要有谁写的,发给谁,写的内容是什么,信的类型,比如是挂号信还是普通的,这些属性用的时间长了,有人发现如果一个一个的使用tcp传递,太费劲了,那么咱们就做一个xml格式的流,这个xml有我们所要的全部信息,也就是一个信件。这样一次就搞定,不用反复通信。邮局(openfire)拿到这个信以后,一看就知道是从哪里来,要到哪里去,然后就发给接受者,当然邮局有保留不发的权利(比如信封里面有危险化学品,泄漏以后导致1死8伤的)
。对方接受到信以后,看看信里面的内容,就知道要干啥了,干完以后,再给个回信。表示是否成功。
整个过程就是这样。
既然是协议,只是一个标准,必须要实现的。openfire和spark是基于smack的,smack实现了xmpp协议,封装了发送和接受、解析协议的一些方法。
详细请看百度百科:
http://baike.baidu.com/link?url=qiGoFhzd0KxFteIeD9TVT17D0qSzOO_B47SD1NRrN9g49G1uGbdqSPKJ7Jh4cdGo
相关文章推荐
- 一步一步学习openfire+spark(2)——介绍几个概念
- 一步一步学习openfire+spark(2)——介绍几个概念
- 一步一步学习openfire+spark(1)
- 一步一步学习openfire+spark(1)
- 一步一步学习openfire+spark(1)
- Spark学习——spark中的几个概念的理解及参数配置
- IntelliJ IDEA 学习笔记 - 项目相关的几个重要概念介绍
- XMPP学习之 Spark+OpenFire服务器的搭建(第1节)
- xmpp学习之环境搭建(Openfire+spark环境搭建)
- 【转载】Spark学习——spark中的几个概念的理解及参数配置
- openfire+spark+jwchat+服务器日志输出 环境搭建(学习笔记)
- 优秀是一种习惯:几个英语学习习惯的介绍和实施
- 英语学习的几个概念
- java即时通信解决方案openfire+spark完整安装指南
- Flex学习笔记1---概念介绍
- java领域即时通信的解决方案一(openfire+spark+smack)
- java领域即时通信的解决方案一(openfire+spark+smack)
- Openfire+Spark+Spark Web安装配置(配置自己的聊天工具)
- 开张了,学习“函数调用的几个概念”
- 一步一步学习Ultimus - 九、Ultimus接口介绍和配置