承上一节

5 Matrix完成的常见组件和结构

Matrix是一种开源通讯协议,旨在完成安全、涣散和可互操作。它能够用于各种目的,包括即时音讯、语音和视频谈天以及文件同享。

网络协议规范化与敞开规范:怎么创立规范的协议?你能够知道的矩阵协议完成和现状 二

下面是Matrix的一些用法:

即时音讯传递:Matrix可用于1对1和分组的即时音讯传递。
语音和视频谈天:Matrix能够用于语音和视频谈天,能够是1对1的,也能够是群聊。
文件同享:矩阵能够用于文件同享,无论是1对1的还是分组的。
物联网(IoT): Matrix可用于与物联网设备通讯,如智能家电和可穿戴设备。
自界说使用程序:Matrix可用于构建自界说使用程序,例如交际网络和谈天机器人。

它基于涣散式架构,运用“家庭服务器”的概念来存储和办理用户数据。每个用户都有自己的家庭服务器,负责处理他们的通讯并为他们供给共同的音讯传递体会。

Matrix协议是由一个JSON规范界说的,该规范描述了用于在主服务器之间通讯的音讯、事情和其他数据结构的格局。本规范分为以下几个部分:

客户机-服务器API:

该API界说客户机和服务器之间交流的音讯。它包括用于创立和参加房间、发送音讯和办理状况的音讯。

服务器-服务器API:

此API界说在主服务器之间交流的音讯。它包括用于同步房间数据、办理用户和处理联合的音讯。

使用程序服务API:

这个API界说了使用程序服务和主服务器之间交流的音讯。使用程序服务是能够与Matrix用户和房间交互的第三方使用程序。

矩阵协议还由一组事情类型界说,这些事情类型用于表明房间中或许发生的不同类型的通讯。这些事情类型包括:

message:此事情类型表明在房间中发送的音讯。
member:该事情类型表明用户参加或离开一个房间。
m.room。join_rules:此事情类型界说了参加房间的规矩。
topic:此事情类型设置一个房间的主题。

除了核心的Matrix协议之外,还有许多供给附加功能的扩展。这些扩展包括:

端到端加密(E2EE):此扩展供给了一种加密音讯的机制,以便只要发送方和接收方能够读取它们。
VoIP:此扩展供给了一种进行语音呼叫的机制。
视频谈天:这个扩展供给了一个机制,使视频通话。
推送告诉:这个扩展供给了一种机制,当在房间中发送新音讯时接收推送告诉。

矩阵协议是一种功能强大的通用通讯协议,可用于各种目的。关于需要安全可靠的通讯方法的个人和安排来说,它是一种流行的挑选。

  • 完成案例

Matrix协议的服务和客户端完成有多个语言的版本,包括synapse,dendrite。

下面是一些怎么运用矩阵的客户端比如:

Element: Element是一个流行的Matrix客户端,可用于各种平台,包括桌面、移动和web。
Riot: Riot是另一个流行的Matrix客户端,可用于各种平台。
Synapse: Synapse是一个矩阵服务器,可用于保管您自己的矩阵主服务器。
Matrix.org: Matrix.org是一个支撑Matrix协议开发的非营利安排。

假如您正在寻觅一种安全、涣散和可互操作的通讯协议,那么Matrix是一个很好的挑选。它是一种通用协议,可用于各种目的,而且正在被越来越多的个人和安排运用。

6 简单比照和怎么挑选 XMPP vs Matrix vs Slack

Matrix 是您能够考虑用于谈天使用程序的另一种谈天协议。它是经过 IP 进行可互操作、涣散、实时通讯的敞开规范。作为 XMPP 的替代品,它越来越受欢迎。它最近被添加到 Ejabberd 中。

网络协议规范化与敞开规范:怎么创立规范的协议?你能够知道的矩阵协议完成和现状 二

Matrix 可用于支撑即时音讯、物联网通讯、VoIP/WebRTC 信令 – 任何需要规范 HTTP API 来发布和订阅数据一起盯梢对话历史记录的东西。

与 XMPP 相比,Matrix 将是比 Slack 等使用程序的更好挑选——这些使用程序支撑环绕有安排的群组或主题对话进行通讯。

  • 挑选方法

假如您想从客户端-服务器架构模式中获益或构建像 WhatsApp 这样的使用程序,请挑选 XMPP,只要您不会过多重视二进制数据。

假如你打算创立一个像 Slack 这样的使用程序或一个将为群组通讯供给动力的系统,你能够从 Matrix 的去中心化架构中获益,该架构能够同步房间内的对话历史记录,而不是音讯传递。

假如您想快速完成您的使用程序,以便在具有挑战性的环境中支撑机器对机器的通讯,MQTT 将为您供给杰出的服务协议。 它答应有效地传输数据,关于阅历不同延迟等级的网络来说是一个不错的挑选。

网络协议规范化与敞开规范:怎么创立规范的协议?你能够知道的矩阵协议完成和现状 二

7 小结及 matrix现状

Matrix协议在被公开后受到了获得了表扬和批评。有人指出,互联网历史上其他这类企图界说敞开式即时通讯或多媒体信令协议的尝试都较难广泛推广:如XMPP和IRCv3协议,并着重此类协议无法广泛推广的原因既有或许是技术上的,也或许包括政治上的。

在Librem5手机立项后不久,Matrix团队便与Purism公司公布了合作开发Librem 5的计划。Purism原计划运用Matrix协议来编写他们预装在Librem 5上的电话使用及信息使用。

有兴趣的能够看看我之前写的简单版运用:

作为全体或者局部: 新生的协议Matrix的解读, 根本介绍 – (juejin.cn)

参考: matrix-org.github.io/dendrite/