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

發佈了27 篇原創文章 · 獲贊 9 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章