discord.com 如何传递消息?

问题描述 投票:0回答:2

我很好奇不和谐聊天架构是如何设计的? 我只是转到网络选项卡来检查请求(假设它是 Web 套接字或 Web rtc),并且只看到用于获取要显示的消息的查询以及发送消息时的发布请求。实在不知道对方的消息是从哪里来的!

这是屏幕截图 -

(所有请求)

(我的消息发布请求)

(WebSockets 选项卡)

(WebRTC 检查器)

我不知道另一端(我的朋友)的消息是从哪里传给我的?

javascript sockets discord webrtc
2个回答
0
投票

有一个 websocket (wss://gateway.discord.gg/?encoding=json&v=9&compress=zlib-stream) 打开,但它发送加密消息,因此无法确认这是否是消息传入的方式。尽管如此,当其他的都被排除了,这似乎是唯一的可能了。

PS:首先打开开发工具并重新加载discord以在网络选项卡中看到WS,否则它不会显示。


-1
投票

“网络”选项卡是我们所说的“您的浏览器”区域,我们可以在其中查看加载网页所需文件的所有请求(按发出的顺序排列)。我们可以看到请求的文件类型、请求的位置、文件有多大等等。 大量强调他们所说的

您的请求

它只显示您在另一端发出的请求,发送消息的人会收到与您对消息所做的类似的POST请求,它很好地具有websocket 以及它拥有自己的 CDN(非常流行被称为“免费 CDN”),所有 Discord 消息都分布式存储在 Apache Cassandra 12 节点集群中,作为 Discord 的主数据库。

正如“你的朋友”所说,你通过 websocket 连接,并且同时向内部 API 发出 

POST

GET
请求:D
    

© www.soinside.com 2019 - 2024. All rights reserved.