我正在使用此示例https://github.com/libp2p/js-libp2p/tree/master/examples/libp2p-in-the-browser并尝试通过给定的托管 Rendezserver '/dns4/wrtc连接到 nodejs 对等体-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star '。找到对等点,但未建立连接。如果我在与浏览器对等体相同的机器上运行 nodejs 对等体,它们会连接,但如果 nodejs 对等体在不同的机器/网络上,对等体会找到彼此但它们没有连接。这是正常的吗?
问问题
428 次
1 回答
1
是的,这完全正常。WebRTC 只有在您可以通过 NAT 时才能工作。IPv6 也确实有助于 NAT 穿越,但使用 IPv4 可能会更棘手。所以它会比本地工作更多,但每个对等点必须能够直接相互连接。
https://docs.ipfs.io/how-to/create-simple-chat-app/
我们可以使用 WebRTC-Star 节点来帮助发现我们可以直接连接到浏览器的其他对等点。如果您熟悉 STUN 的概念,将它们视为概念上相似可能会有所帮助。实际上,每个连接节点都将获得一个 WebRTC-Star 多地址,其他节点可以使用该地址直接发现并连接到您的浏览器。这意味着,如果您与使用星节点的人对等,并且星节点离线,您仍然保持连接!
[...]
提示
这是一种非常干净有效的 P2P 通信方法;但是,有时 NAT 会妨碍您。我们使用 p2p 电路来解决这个问题。
于 2021-07-21T00:10:29.100 回答