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

dro*_*tes 0 xmpp push blazeds

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

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

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

我的问题是,

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

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

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

谢谢

Mat*_*ttJ 5

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

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

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

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

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