适用于即时消息传递的协议

2023-11-30

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

随后,我们将向本机移动应用程序和网站添加语音和视频通话功能。

  1. 现在我的问题是,基于上述情况,我们应该采用哪种协议? 我在互联网上对此进行了一些研究,但无法在 XMPP、MQTT 和 MUMBLE 之间进行选择。

就上述标准而言,哪一个是最好的?

  1. 另外,我应该为移动应用程序和网站使用相同的协议吗? (根本不知道)。为本机移动应用程序和网站选择相同或不同的协议有关系吗?

就当我是这里的新手吧。

您的回复对我来说真的意义重大。

我是网络开发新手,所以请纠正我的错误之处。


您的问题 XMPP、MQTT 与 mumble 的答案实际上取决于您在问题中未描述的许多因素。主要是你的非功能性需求。

XMPP 是一种基于 xml 的协议,最初设计为即时消息传递协议。在处理所有客户端之间的存在时,它在消息的数量和大小方面具有相当高的开销。您当然可以基于 XMPP 进行实现。 Google talk 基于 XMPP,它使用 XMPP 通过名为 Jingle 的 XMPP 扩展来设置 VOIP 会话。

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

只要您的服务器端能够正确处理与移动客户端和 Web 客户端的交互,您就不需要为移动客户端和网站使用相同的协议,您可以选择不同的协议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于即时消息传递的协议 的相关文章

  • 正则表达式 - 格式化块中的文本 - IM

    您好 我正在尝试找出一个正则表达式来替换innerHTML块中的文本 以便为类似于Google IM的操作的文本提供本地格式 Where Italics Inderline Bold Strike 部分条件是文本必须由符号包裹 但如果紧随其
  • 通过xmpp在android中传输文件?

    我只是想通过 xmpp 传输文件 我正在使用 asmack lib 我在下面遇到异常 E AndroidRuntime 332 FATAL EXCEPTION main E AndroidRuntime 332 java lang Null
  • 协议中的公共默认初始化

    我有这个代码 public protocol MyProtocol init public extension MyProtocol public init self init public final class MyClass MyPr
  • 如何使用 QtMqtt 和 SSL 执行安全 MQTT?

    我正在尝试使用 QtMQtt 示例项目 simpleclient 但我想执行安全的 MQTT 我该如何处理这个问题 我读过这篇博客 https www qt io blog 2017 08 14 introducing qtmqtt pro
  • type.Protocol 类 `__init__` 方法在显式子类型构造期间未调用

    蟒蛇的PEP 544 https www python org dev peps pep 0544 介绍typing Protocol用于结构子类型 又名 静态鸭子类型 在本 PEP 的部分中合并和扩展协议 https www python
  • Swift:是否可以向协议添加协议扩展?

    假设我有两个协议 protocol TheirPcol protocol MyPcol func extraFunc 我想做的是为 TheirPcol 创建一个协议扩展 它可以让extraFunc 从事任何符合 TheirPcol 的事情
  • Faye 在 jruby 的铁轨上

    我搜索了很多 但找不到任何资源表明我可以将 Faye 与 jruby 一起使用 我已经发现this one https groups google com forum fromgroups topic faye users wvp K38v
  • 如何在 XMPP 中实现“上次查看时间”功能(如 Whatsapp)?

    我正在开发一个聊天应用程序 并希望添加 上次查看时间 功能 我正在尝试使用存在节来实现它 但遇到一个问题 请检查下面的链接 当用户 B 也不可用时 未获取用户 A 的不可用状态 https stackoverflow com questio
  • 无法在 Istio 代理后面的 k8s 中建立与 VerneMQ 集群的 mqtt 连接

    我正在设置 k8s 本地 k8s 集群 对于测试 我在使用 kubeadm 设置的虚拟机上使用单节点集群 我的要求包括在 k8s 中运行 MQTT 集群 vernemq 并通过 Ingress istio 进行外部访问 无需部署 ingre
  • 使用 PREEMPT_RT 构建 RT 应用程序

    我想在使用实时 PREEMPT RT 的同时编写实时 Linux 程序 我找到了官方维基 https rt wiki kernel org index php HOWTO Build an RT application https rt w
  • Java 和 Jabber/Smack [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试使用最新版本的 Smack 3 2 1 编写一个简单的示例 以便在两个帐户之间发送和接收消息 Connection connec
  • iOS-示例中的协议和委托

    好吧 我正在寻找 但没有任何方法对我有用 以下代码基于许多教程和苹果文档 但我无法让它工作 有人可以帮忙吗 代码崩溃于 obj delegatee self 在 B h 类中 respondsToSelector 和 PerformSele
  • 从 Lambda 向 AWS IoT Core 发布 MQTT 消息

    我是 AWS 世界的新手 目前正在开发一项 Alexa 技能 该技能只需向 AWS IoT Core 代理发布一条 mqtt 消息 与之前创建的 事物 和主题进行交互 目前我正在使用 boto3 但我不确定这是正确的路径 这是代码 但在部署
  • XMPP会议室邀请函

    在我的聊天应用程序中 我想实现群聊功能 同样 我想创建房间并向我的朋友发送加入房间的邀请 这是我加入并邀请朋友进入房间的代码 创建房间 Create Room btn CreateRoom Button findViewById R id
  • 为什么 Swift 中委托方法需要公开?

    我正在快速开发一个框架 我正在创建一个处理框架中 BLE 内容的类 这个类应该是公共的 因为我需要从使用我的框架的外部应用程序访问这个类 我的班级结构如下 public class MyClass NSObject CBCentralMan
  • 我的类可以在 Swift 中重写协议属性类型吗?

    protocol Parent var children AnyObject get set class Foo class Bar Parent error happens here var children Foo init 我收到错误
  • 简化情况下能否保证mqtt消息送达顺序?

    如果只有一个代理 一个发布者 一个主题和干净的会话 在这个简化的情况下 能否保证订阅者端的消息传递顺序与发布者端的发送顺序相同 会受到QoS的影响吗 Section 4 6 http docs oasis open org mqtt mqt
  • aSmack 即服务

    基本上我有一个运行整个项目的主类 该代码运行完美 尽管一旦应用程序失去焦点 它就会变得不活动 我想知道如何将其变成一项服务 一个会在启动时启动的 该应用程序将是一个用于通知的单向消息系统 IE 桌面客户端 gt Openfire 服务器 g
  • 加特林负载测试期间编译错误

    我正在尝试编写一个模拟 并且希望能够运行该模拟 我在尝试 mvn gatling execute 时遇到错误 我的 pom 有以下依赖项
  • 在 ios 中从 XMPP 服务器检索存档的消息

    我正在将 XMPP 功能集成到我的 ios 应用程序中 但遇到了一个无法解决的问题 问题是我无法从服务器获取存档的消息 我的客户能够登录 并且我已经成功测试了多个服务调用 发送 接收消息 获取有关用户的信息 发送后

随机推荐

  • GetCookie 提取信息到字符串

    我正在尝试从我需要的 Set Cookie 获得的 cookie 中获取数字信息 om lv 1341532178340 xrs 这里的数字 这就是我想出的 string key ArrayList list new ArrayList f
  • React-Native、Android、Genymotion:ADB 服务器未确认

    我正在 Mac 上使用 React Native Android 和 Genymotion 当我跑步时react native run android我在启动操作结束时得到以下几行 04 54 40 E adb error could no
  • 查找供应每个零件的供应商的 sids

    Suppliers sid sname address Parts pid pname colour Catalog sid pid cost 找到所有供应每个零件的供应商 的答案是 SELECT C sid FROM Catalog C
  • 如何获取配对的蓝牙设备

    我想创建一个应用程序 在我的应用程序中向我显示已配对的设备 例如 在检测并显示我之前与我配对的任何设备 下次我也想寄一个NSString like hello 至配对设备 我在谷歌搜索 我很困惑 请首先告诉我如何将设备与我的手机配对 然后告
  • 使用 sudo 更改根目录中的文件[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个脚本来配置resolv conf and etc network interfaces自动地 我以 sudo 身份运行命令 但收到 权限被拒绝 错误 sudo apt get assume ye
  • 如何在循环中使用 numpy.dstack?

    我正在尝试通过使用 2D 数组和 np dstack 来填充数组 m1 np array 1 1 1 1 m2 np array 2 2 2 2 m3 np array 3 3 3 3 lst m1 lst np dstack lst m2
  • 查找 Scikit-learn 分类器中最常见的术语 [重复]

    这个问题在这里已经有答案了 我正在关注Scikit 学习文档中的示例 where CountVectorizer用于某些数据集 Question count vect vocabulary viewitems 列出所有术语及其频率 如何按出
  • 如何在 R 中读取和命名不同的 CSV 文件

    我想对几个 csv 文件进行一些比较 因此我编写了以下代码来读取我拥有的不同 csv 文件 path lt C data files lt list files path path pattern csv for file in files
  • Python 类中的变量作用域

    在类中声明变量 在函数之外 所有类函数都可以访问它 基本上是公共变量 在类内的函数内声明变量 只有该函数可以访问它 它在该函数的范围内 声明一个变量self variable name 在类内的函数内部 所有类函数都可以访问它 这与glob
  • 如何使用 @compatibility_alias 为以前版本的 iOS 的类添加别名

    有人可以告诉我如何使用 compatibility alias 获取一个类 例如 UIActivityViewController 这是 iOS 6 中新增的 并使用 compatibility alias 使其在 iOS 5 和 iOS
  • 自定义动画菜单 CSS/ jQuery

    我有这个代码片段 想知道是否有可能对其进行修改 以便在悬停翻译后获得 在单击事件上保持原位或向右移动几个像素 直到单击另一个菜单按钮 mynewmenu implementation nav ul li mouseover function
  • 无法将用户输入值回显到批处理脚本中的文件

    我正在编写一个批处理文件 它将根据多个用户输入值生成 写入属性文件 但是 它不记录输入的值 结果看起来像 prop1 prop2 我想知道是否有一些我需要知道的设置会阻止它工作 奇怪的是 如果我多次运行这个特定的脚本 echo 输出的值似乎
  • Cordova 无法为 2097152KB 对象堆保留足够的空间

    我是 cordova 新手 正在尝试创建一个 android HelloWold 项目 当我使用cordova platforms add android 它会抛出一些异常 D CordovaSpace helloWorld gt cord
  • 如何使用 SMO 更有效地检索 SQL 存储过程参数?

    我正在尝试检索 StoredProcedure 中所有参数的 DefaultValue 我的应用程序是用 C NET 构建的 访问 Microsoft SQL 2008 数据库 我使用 SqlCommandBuilder DerivePar
  • 模拟列表并尝试迭代它

    目前使用 Mockito 来测试我的一个类中的方法 我的类包含一个列表 并且该方法接受同一类的对象 问题是当我尝试从对象迭代列表时 我得到一个指向列表的空指针 下面您将看到代码片段 private Shipment shipment pri
  • 原始套接字编程 UDP Python

    如何在 python 中以 SOCK RAW 格式添加自定义字段 如 IP 和 UDP 标头 我想在数据包中有一个自定义字段并在计算中使用该字段 您没有指定自定义字段的位置 此示例允许您随意构建 UDP 标头 至少在 Linux 上 可能存
  • JavaScript 字符串相等性能比较

    我有一个 JavaScript 菜鸟问题 假设我们有两个相等的非常大的字符串 一百万个字符或更多 它们具有相同的长度和相同的内容 假设我们有这两个函数 它们都执行相同的操作 比较字符串 function equals1 a b return
  • 如何在空手道上集成 socket.io

    我知道空手道有对 WebSocket 的内置支持 但无论如何可以使用套接字 io空手道 我想将消息发送到与 socket io 通信的微服务中 并等待响应以断言该消息符合预期 不 您不能使用空手道中的任意 JavaScript 库 而且通常
  • 将值附加到 c 数组

    这是一个非常简单的问题 但我不知道该怎么做 例如 我有一个名为Array包含值 1 2 3 4 5 6 我想添加第七个值 7 到数组 因此它包含 1 2 3 4 5 6 7 有一个函数可以做到这一点吗 我需要包含任何额外的头文件吗 任何帮助
  • 适用于即时消息传递的协议

    我们必须使用合适的协议开发一个用于即时消息传递的本机移动应用程序 我们还将为该应用程序开发一个网站 以便那些无法登录移动设备的人可以通过该网站继续进行即时消息传递 随后 我们将向本机移动应用程序和网站添加语音和视频通话功能 现在我的问题是