Comet服务器和XMPP服务器之间的差异

时间:2012-03-07 01:46:06

标签: xmpp push blazeds

在我的下一个计划项目中,我想实现一个在线教室网站,我想在教师和参与的在线学生之间共享一个黑板(说一个简单的文本区域){这些都通过网站登录}。无论Tutor在黑板上写的文字都必须由其他参与者在实时中看到。

我想用Java作为我的开发平台。

为了实现这一点,我开始在Google上搜索PUSH技术。我读到XMPP实现服务器和XMPP库可用于实现近实时应用程序,如协作应用程序/多方游戏/ IM应用程序等,    但我也读到了BlazeDS在实时和低延迟Web应用程序中的用法。

我的问题是,

  1. 这些基于XMPP java的实现与BlazeDS有什么区别?技术人员的最终目标不是使用PUSH技术来实现低延迟的Web应用程序吗?

  2. Comet服务器和XMPP服务器有什么区别?他们只是在实施PUSH技术或其他任何方面有所不同吗?

  3. 我很困惑。请有人向我解释这些,以便在我做项目之前知道自己做了什么以及在项目的下一步开始。

    由于

1 个答案:

答案 0 :(得分:5)

回答您的第一个问题:不,XMPP的目标不仅仅是“使用PUSH技术实现低延迟的网络应用”。 XMPP远远早于“实时网络”,是一个比基本的彗星/推送服务器更广泛的平台。

XMPP中通常不在普通推送服务器中的功能包括:

  • 支持非Web客户端(包括现有桌面客户端)
  • 从基于强证书的机制(如SCRAM-SHA-1到临时匿名帐户)中选择身份验证方法
  • 支持联合(与其他XMPP服务器通信)
  • 许多以聊天为中心的功能(联系人列表,离线消息传递,文件传输) - 这可能是一个奖励或毫无价值,但在某些XMPP服务器中可以禁用这些功能。

如果您只是正在寻找一个组件来实时向网站访问者发送消息,并且您正在使用BlazeDS紧密集成的Java,那么BlazeDS可能是您的最佳选择。

如果您的推送系统是更大的实时平台的一部分,可能涉及多个客户端(例如非网络),多种语言,甚至可能涉及多个服务器(例如,您可以允许用户使用现有的XMPP帐户接收更新)那么XMPP很可能值得研究。