一步一步学习openfire+spark(2)——介绍几个概念

时间:2021-01-22 14:41:57

1:消息服务器

openfire为例,介绍它的主要功能。

 (1)所有的消息都由要经过消息服务器,包括客户端和客户端之间的通信,其实消息服务器就是做了一个中转的作用,当然也可以监控客户端。

 (2)实时了解客户端情况,通过心跳的方式,了解客户端在线,忙碌,离线等状态,也可以强制客户端下线。

  3 管理插件,openfire服务器也是基于插件开发的,你可以开发你自己的插件,只要符合openfire的规范就行,插件最终编译成一个jar包,只要放到openfire指定目录下就能运行,插件可以说是一个单独的应用。比如你可以编写一个自己的考勤系统,通过客户端来查看系统的考勤。

 (4)给客户端推送消息,openfire基于mina框架,可以高效的推送各种消息或者文件。

2:客户端

 客户端是安装在电脑上的,具体完成功能的应用。光有了消息是不够的,收到消息客户端要做什么,这个就是客户端实现的功能,比如你可以在客户端编写一个关机的功能,一旦服务器给客户端推动了一个代号为001的消息,客户端就关机。

3XMPP

XMPP是一种通信协议,本身没有什么高深的东西,只要遵守这个规范就行。你可以想象,要通信,就和我么要写信一样,写信要有谁写的,发给谁,写的内容是什么,信的类型,比如是挂号信还是普通的,这些属性用的时间长了,有人发现如果一个一个的使用tcp传递,太费劲了,那么咱们就做一个xml格式的流,这个xml有我们所要的全部信息,也就是一个信件。这样一次就搞定,不用反复通信。邮局(openfire)拿到这个信以后,一看就知道是从哪里来,要到哪里去,然后就发给接受者,当然邮局有保留不发的权利(比如信封里面有危险化学品,泄漏以后导致18伤的)

。对方接受到信以后,看看信里面的内容,就知道要干啥了,干完以后,再给个回信。表示是否成功。

整个过程就是这样。

既然是协议,只是一个标准,必须要实现的。openfirespark是基于smack的,smack实现了xmpp协议,封装了发送和接受、解析协议的一些方法。

详细请看百度百科:

http://baike.baidu.com/link?url=qiGoFhzd0KxFteIeD9TVT17D0qSzOO_B47SD1NRrN9g49G1uGbdqSPKJ7Jh4cdGo