WebRTC 和 libp2p 有什么区别?

Whats the difference between WebRTC and libp2p?

我正在尝试构建一个 p2p 终端共享实用程序,其中 NAT 后面的 PC 可以通过 public 互联网将它们的终端共享给 NAT 后面的其他 PC。 (两台电脑基本上都在不同的专用网络上)。另一个要求是提供一个基于 web 的终端(因此 webrtc 似乎很有用)。遇到了两个有前途的解决方案——webrtc 和 libp2p。但两者的根本区别是什么?

PS: ssh 标签在这里可能会产生误导。但在广泛的层面上,我想要做的就是假装 SSH 进入一个没有 public IP

的系统
  • WebRTC是一个low-level浏览器API,用于浏览器之间的P2P通信。 high-level 介绍和历史参见 MDN documentation or Wikipedia article
  • libp2p 是一个用 JS、NodeJS、Go、Rust(还有更多)编写的库,它实现了基于 IPFS 的点对点通信。据我所知,它在浏览器中使用 WebRTC 和 WebSockets。