2013-05-17 112 views
4

我們正在製作一個網站,我們正在嘗試開發聊天應用程序,我們已經使用Comet構建了一個,但是由於速度因素,我們決定在XMPP中製作一個聊天應用程序。XMPP與HTML5 Websocket?

但是,隨着HTML5的存活和新的websockets技術的存在,我們應該離開XMPP並嘗試使用Websockets來代替嗎?

所以我的問題是:

  1. 我可以做一個移動應用程序,並將其連接到XMPP我的服務器上,是 有沒有辦法通過電話連接到基於的WebSockets聊天應用程序? ( 例如啪庫爲Android,是否有類似 東西的WebSockets基於應用程序?

  2. 是,如果此人使用的舊版瀏覽 基於聊天應用程序中的WebSockets的還有一個退而求其次的選擇說什麼?

  3. 其中有更多的開銷和技術是更快,更好?

而且,可以說,XMPP是一個嘗試了測試的技術,它仍然需要許多圖書館吧?比如Strophe.js flXHR等對吧?但是沒有任何永恆的圖書館等爲這種類型的東西而構建的HTML5?

問候,

+1

XMPP是一個久經考驗的測試和真正的協議。那裏沒有問題。極其輕巧(可輕鬆處理一臺服務器上數千個併發用戶)。使用http://socket.io/編寫node.js服務器可能是另一種選擇 - 但它確實感覺像是在向我重新發明輪子。 – Kevin

+1

真的,但不是爲這件事物本身構建的HTML5 websockets,而不是使用像strophe.js和flXHR等庫。 –

+0

是的。我會舉幾個簡單的例子,看看哪一個能夠達到你的標準。 – Kevin

回答

12

的XMPP維基百科頁面有XMPP via HTTP and WebSocket transports的部分。最後一段指出:實時消息

一個也許更有效的運輸是WebSocket的,網絡技術,提供雙向,全雙工通信信道在一個TCP連接。通過WebSocket存在XMPP的實驗性實現,並且記錄此方法的(現已過期的)Internet-Draft已在IETF上發佈,但尚未標準化。

WebSocket是一種消息傳遞協議,因此XMPP可以通過WebSocket實現。如果WebSocket子協議被進一步採用,我們甚至可以看到對此的本地支持。但在此之前,WebSocket連接將僅充當XMPP協議消息的低級傳輸。

所以,這不是「XMPP或WebSocket」的問題。如果XMPP適合您的需求,那麼我會尋找一個使用WebSockets(並具有適當的HTTP回退)並提供XMPP支持的解決方案。