Swarm Rendezvous (swarm-rdt) 是一种现代的服务器发现机制。使用该机制,Web 应用程序可以在不同的浏览器中直接交换数据,其中不需要用到中央服务器。它是以 WebRTC 基础层的广播和分散式哈希表为背景,而不是客户端和服务器之间的信息传递。
Swarm Rendezvous 知识点的思想比较新颖,在这篇文章中,我们将深入了解该 npm 包的使用方法。
安装 npm 包 swarm-rdt
要使用 swarm-rdt,必须首先安装该包。可以通过 npm 安装该包,使用以下命令:
--- ------- --------- ------
用法
Swarm-rdt 的用法非常简单。在以下示例中,我们将创建一个 Swarm Rendezvous server,允许客户端通过 websocket 发送消息:
----- -------- - -------------------- ----- ---- - --------------- ----- ------ - ------------------- ------------------- -- --------- ----------- -- ------- --------- ------------ -- ----------- ---- ----------- -- -- ----- --- - --- ---------- ----- ----- ----- ------------ -- ----- --- - --- ------------------ ------ -- -------------------- ---- -- - -- ----------- --------- ------ ----------- ---------------------- ---------- ------------ -- - ------------------------ ----------- ----------------------------------- -- ------- ------ -- - ------------------- ----- ----------------------------- -- -------- -- -- - --------------------- ---------- -- -- - -------- ------------- -- -- --------- --------- ------ ------------ -------------- -- -- ------------------------- --
在这个示例中,我们初始化 swarm-rdt 对象,用于与其他 Web 客户端交换信息(在这里只有 WebSocket 客户端,但仍然可以使用其他实现)。接着, Swarm Rendezvous 服务器中设置事件回调函数。
在 onConnect
回调中,swarm-rdt server 已经建立了与当前前端的连接,它可以将其身份信息发送给其他客户端。 onData
用于接收从其他前端转发的消息, onClose
则用于当前前端关闭连接时存储事件。
接下来,服务器配置 WebSocket 监听器,并为每个客户端创建实例化 SwarmRDT 类的实例。回调函数说明 SwarmRDT 如何将前端委托给 WebSocket,并传递消息。当与客户端的连接关闭时,swarm-rdt server 事件处理器也需要断开连接。
总结
在本文中,我们介绍了 Swarm Rendezvous 对 WebRTC 基础层干扰的机制,并深入研究了基于该机制的 npm 包 swarm-rdt 的使用。为了使前端交换数据, Swarm Rendezvous 必须与某个实时通信(RTC)流程或数据通信(DC)提供程序配合使用。此外,Swarm Rendezvous 以它的 P2P 使用知识点而闻名。这个包是很多进行现代化 P2P 架构设计的前端开发者会使用的工具之一。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055bbd81e8991b448d9556