基於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上使用。 性能

相關文章
相關標籤/搜索