基于openfire的webIM的实现机制想法

目前webIM的openfire的实现方式,基本上分红如下几种 web

  • smack+dwr,js端采用定时轮询的方式,从web服务器中将xml取回来.
  • 经过flash技术,链接到openfire服务器。
  • 经过bosh技术直连到openfire服务器

第一种方式:实现比较简单,技术门槛也比较低,网络上也有比较成熟方案。但缺点是对于web服务器的压力太大,客户端不能链接太多。 apache

第二种方式:flash技术,技术门槛比较高,并且与js的交付也不够方便,主要是这种方案本身也没有试验过。 服务器

第三种方式:bosh技术,这个须要安装一个apache做为代理,重定向到openfire的http端口。这个已经有比较成熟的方案,像jwchat,就是用这个。但在试验过程当中发现会出现bad proxy的报错。原理实际上也是采用轮询技术,不断到apache上状况。我感受链接的客户端比较多的话,性能应该会出现问题。 网络

我目前想到一种方案是经过IE的ActiveX技术。采用C/delphi的xmpp客户端链接到openfire服务器。页面须要发送消息时,经过ocx的将xml发送给xmpp的客户端,而后xmpp客户端将信息再转发给openfire服务器。这种方案通过测试也是能够,并且对于web服务器压力不大。但肯定是,只能在IE上使用。 性能

相关文章
相关标签/搜索