UHST RelaySocket 是否用于 p2p 连接?

Is UHST RelaySocket used for p2p connection?

在 UHST 2.0 (https://github.com/uhst/uhst-client-js/commit/5888b6d4583c91bd30a04d289e0ff0aa9ce9b5f0) 中,WebRTC 不再是对等点之间的默认传输协议,而是引入了新的 RelaySocket。这个 RelaySocket 是什么,它仍然是点对点的还是依赖于服务器?

简短回答:不,RelaySocket 连接不是点对点的

在 UHST 1.x 中,中继用于发送 WebRTC 连接(ICE 对等交换)的信号,但是一旦 WebRTC 数据通道成功建立,客户端将关闭中继连接,所有数据传输都通过 WebRTC。主机保持中继连接打开以向需要 ICE 交换的新对等方发出信号。

UHST 2.0 引入了 RelaySocket 的概念,它是 UHST 协议在中继而非 WebRTC 上的实现。 WebRTC 仍然与 JS 客户端捆绑在一起,可以启用。使用 RelaySocket,中继充当中间人,在客户端和主机之间转发消息。

切换到 RelaySocket 的主要原因是为了实现与移动 UHST 客户端(Flutter、iOS、Android)的互操作性,其中 WebRTC 实现尚不可用或不标准。此外,如果将 UHST 移植到 IoT 设备,WebRTC 可能不可用。