本文主要是介绍基于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的实现机制想法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!