目前webIM的openfire的實現方式,基本上分紅如下幾種 web
第一種方式:實現比較簡單,技術門檻也比較低,網絡上也有比較成熟方案。但缺點是對於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上使用。 性能