2013-10-19 104 views
4

我們必須使用SUITABLE協議開發適用於即時消息傳遞的原生移動應用程序。 此外,我們將爲該應用程序開發一個網站,以便那些無法登錄手機的人可以通過網站繼續他們的即時消息。適用於即時消息傳遞的協議

稍後,我們會將語音和視頻呼叫設施添加到本地移動應用以及網站。

  1. 現在我的問題是,基於上述情況,我們應該使用哪種協議? 我在互聯網上做了一些研究,無法在XMPP,MQTT和MUMBLE中進行選擇。

哪一個是上述標準中最好的?

  1. 我也應該爲移動應用程序以及網站使用相同的協議嗎? (根本不知道)。是否爲本地移動應用程序選擇相同或不同的協議以及網站問題?

在這裏考慮一下我的新手。

你的迴應對我來說真的很重要。

我是新來的網站開發,所以糾正我,無論我錯了。

+1

讓我們這樣說,Facebook Messenger使用MQTT ..... – hardillb

+0

但Facebook Messenger不允許語音或視頻通話。 –

+1

Facebook還提供了一個XMPP界面。 – Robin

回答

5

的回答你的問題XMPP VS MQTT VS咕噥真的取決於許多的,你沒有在你的問題描述因素。主要針對您的非功能性要求。

XMPP是最初設計爲即時消息協議的基於xml的協議。在處理所有客戶之間的消息的數量和大小方面,它具有相當高的開銷。您當然可以將您的實施基於XMPP。 Google Talk基於XMPP,它使用XMPP來設置VOIP會話,使用名爲Jingle的XMPP擴展。

MQTT是通用低開銷發佈/訂閱協議。它並不是專門針對實現即時消息的,但Facebook使用它作爲他們的Facebook Messenger的基礎。就消息大小和保持活動需求而言,MQTT是一種更高效的協議,所以如果您計劃擴展到大量用戶,或者即使在低性能設備上需要您的移動客戶端高度響應,您也可以選擇此協議。如果您選擇MQTT,那麼您將自己設計「應用程序級」協議消息,而不是遵循標準。 MQTT當然可以用作建立語音聊天和視頻流的傳輸方式。

只要您的服務器端可以正確處理與移動客戶端和Web客戶端的交互,您可以選擇不同的協議,則不需要爲移動客戶端和網站使用相同的協議。

+0

「MQTT當然可以用作建立語音聊天和視頻流的傳輸方式。」 這條線是否意味着我們將使用MQTT就像我們使用HTTP一樣,但是要設置語音或視頻流,我們必須引入外部協議,如XMPP或Jingle?或者我們是否僅通過MQTT從用戶發送語音或視頻數據? –

+0

您不希望通過MQTT或XMPP/Jingle發送實際的語音或視頻數據。對於實際的語音或視頻數據,您需要使用流協議(例如RTP)(https://en.wikipedia.org/wiki/Real-time_Transport_Protocol)。 XMPP/Jingle或通過MQTT的協議的目的是用於會話啓動。如果您發現我的答案有幫助,請接受它。謝謝。 – rob9nicholson

+0

所以基本上這意味着如果我們在本機應用中只包含即時消息(無語音或視頻聊天),並且我們正在使用MQTT,那麼我們不需要整合XMPP?只用MQTT就足夠了?不是嗎? –

-1

Facebook的信使不支持語音短信.... http://mashable.com/2013/02/21/facebook-voice-messages/

+0

對不起,我的意思是隻有視頻通話不支持在Facebook移動信使。 那麼MQTT可以用來設置視頻通話嗎? 另外我想知道哪一個將是我的情況最好的 基本上它們之間有什麼區別 或者你可以說他們的優點和缺點??? –

+0

你可以請告訴我,通過使用mqtt而不是xmpp是否可以在原生移動應用程序中啓用語音和視頻通話功能? 如果沒有那麼哪個協議做Facebook使用相同??? 感謝百萬... :) 請幫忙!!! –

+0

這個答案應該放在評論中。 – AnixPasBesoin