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

目前webIM的openfire的实现方式,基本上分成以下几种

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

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

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

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

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

你可能感兴趣的:(基于openfire的webIM的实现机制想法)