适用于即时消息的协议 [英] Suitable protocol for Instant Messaging

查看:98
本文介绍了适用于即时消息的协议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们必须使用SUITABLE协议开发用于即时消息的本机移动应用程序. 我们还将为该应用程序开发一个网站,以便那些无法登录到手机的人可以继续通过该网站进行即时消息传递.

We have to develop a native mobile app for Instant Messaging using a SUITABLE protocol. Also we are to develop a website for that application so that those who cannot login to mobile can continue their Instant Messaging through the website.

稍后,我们将在本地移动应用程序和网站中添加语音和视频通话功能.

Later on, we would be adding the facilities of voice and video calls to the both native mobile app as well as the website.

  1. 现在我的问题是,根据上述情况,我们应该使用哪种协议? 我在互联网上对此进行了一些研究,但无法在XMPP,MQTT和MUMBLE中进行选择.
  1. Now my question is that, based on the above situation, which protocol we should go with? I did some research on the internet about that and am unable to choose amongst XMPP, MQTT and MUMBLE.

在上述条件中,哪一个是最好的?

Which one would be the best among them for the above criteria?

  1. 我还应该为移动应用程序和网站使用相同的协议吗? (一点也不知道).为本地移动应用程序和网站选择相同或不同的协议根本无关紧要吗?

在这里给我一个新手.

您的回应对我来说真的很重要.

Your response would really mean a lot to me.

我是Web开发的新手,所以无论哪里出错,都可以纠正我.

I am new to web development so correct me wherever I am wrong.

推荐答案

问题XMPP vs MQTT vs mumble的答案实际上取决于您在问题中未描述的许多因素.主要针对您的非功能性要求.

The answer to your question XMPP vs MQTT vs mumble really depends upon a number of factors that you did not describe in your question. Mainly on your non functional requirements.

XMPP是最初设计为即时消息传递协议的基于xml的协议.就处理所有客户端之间的在线状态而言,在消息的数量和大小方面,它具有相当高的开销.您当然可以将实现基于XMPP. Google talk基于XMPP,它使用XMPP通过XMPP的扩展名Jingle来建立VOIP会话.

XMPP is an xml based protocol originally designed as an instant messaging protocol. It has quite a high overhead in terms of number and size of messages in handling presence between all the clients. You could certainly base your implementation on XMPP. Google talk is based on XMPP and it uses XMPP to set up VOIP sessions using an extension to XMPP called Jingle.

MQTT是通用的低开销发布/订阅协议.它不是专门针对实现即时消息传递而设计的,但是Facebook会将其用作其Facebook Messenger的基础.就消息大小和保持活动要求而言,MQTT是一种更高效的协议,因此,如果计划扩展到大量用户,或者需要移动客户端即使在能力较低的设备上也要具有高响应能力,则可以选择MQTT. .如果选择MQTT,那么您将自己设计应用程序级别"协议消息,而不是遵循标准. MQTT当然可以用作建立语音聊天和视频流的传输工具.

MQTT is a general purpose low overhead publish/subscribe protocol. It is not specifically targeted at implementing instant messaging however Facebook uses it as the basis for their Facebook messenger. MQTT is a more efficient protocol in terms of its message size and its keepalive requirements so you might choose this if you plan to scale up to very large numbers of users or if you need your mobile clients to be highly responsive, even on low capability devices. If you choose MQTT then you will be left to design the "application level" protocol messages yourself, rather than following a standard. MQTT can certainly be used as the transport over which to set up voice chat and video streams.

对于移动客户端和网站,您不需要使用相同的协议,只要您的服务器端可以适当地处理与移动客户端和Web客户端的交互(您可以选择其他协议)即可.

You do not need to use the same protocol for mobile client versus website as long as your server side can appropriately process the interactions with mobile clients and web clients you could choose different protocols.

这篇关于适用于即时消息的协议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆