2013-10-19 52 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