netty实现简单时事通讯_openfire处理消息流程,及openfire详细信息

本文介绍了XMPP协议的基本概念,它是一个基于XML的即时通讯协议,常用于如Gtalk等应用。文章还提到了IM软件在企业和游戏中的潜在应用。Openfire、Spark和Smack是XMPP协议的Java实现,分别作为服务器端、客户端和传输协议实现。建议通过插件扩展而非修改源代码来增强功能。同时,讨论了Netty在实现简单时事通讯中的角色。
摘要由CSDN通过智能技术生成

XMPP

介绍

Extensible Messaging and Presence Protocol

简单的来讲,

它就是一个发送接收处理消息

的协议,但是这个协议发送的消息,既不是二进制的东东也不是字符串,而是

XML

。正是

因为使用了

XML

作为消息传递的中介,

Extensible

才谈的上,不是么?

IM

Instant Messenger

及时通信软件,

就是大家使用的

QQ

MSN Messenger

Gtalk

等等。

其中

Gtalk

就是基于

XMPP

协议的一个实现,其他的则不是。当前

IM

几乎作为每个上网

者必然使用的工具,在国外的大型企业中有一些企业级的

IM

应用,但是其商业价值还没完

全发挥出来。设想既然

XMPP

协议是一个公开的协议,那么每个企业都可以利用它来开发

适合本身企业工作,提高自身生产效率的

IM

;甚至,你还可以在网络游戏中集成这种通信

软件,

不但让你可以边游戏边聊天,

也可以开发出适合游戏本身的

IM

应用,

比如说一些游

戏关键场景提醒功能,团队语音交流等等都可以基于

IM

来实现。

Spark Smack

Openfire

开源界总是有许多有趣的东东,

这三个合起来就是一个完整的

XMPP IM

实现。

包括服

务器端——

Openfire

,客户端——

Spark

XMPP

传输协议的实现——

Smack

(记住,

XMPP

是一个协议,

协议是需要实现的,

Smack

起到的就是这样的一个作用)

三者都是基于

Java

言的实现。

Spark

提供了客户端一个基本的实现,

并提出了一个很好的插件架构,

这对于开发者来

说不能不说是一个福音。

我强烈建议基于插件方式来实现你新增加的功能,

而不是去改它的

源代码,这样有利于你项目架构,把原始项目的影响降到最低。

Openfire

是基于

XMPP

协议的

IM

的服务器端的一个实现,虽然当两个用户连接后,

可以通过点对点的方式来发送消息,

但是用户还是需要连接到服务器来获取一些连接信息和

通信信息的,所以服务器端是必须要实现的。

Openfire

也提供了一些基本功能,但真的很

基本的!庆幸的是,它也提供插件的扩展,像

Spark

一样,同样强烈建议使用插件扩展的

方式来增加新的功能,而不是修改人家的源代码。

Smack

是一个

XMPP

协议的

Java

实现,

提供一套可扩展的

API

不过有些时候,

你还

是不得不使用自己定制发送的

XML

文件内容的方式来实现自己的功能

下图展示了三者之间的关系:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值