我想在 2 个 nodejs 客户端之间创建对等连接。
使用 websocket (dnode)
这是限制:
- nodejs 客户端在不同网络中的 2 台电脑上运行。
- 他们在 NAT 或防火墙后面没有静态 IP(192.168.1.100 && 192.168.2.200)
- 无权更改路由器的映射。
- 公共网络中只有静态 Web 服务器。(可以人工修改文件)
- 可以在电脑上安装应用程序(win)
可能吗?谢谢
我想在 2 个 nodejs 客户端之间创建对等连接。
使用 websocket (dnode)
这是限制:
可能吗?谢谢
也许您可以使用PeerJS来实现您的目标。PeerJS 简化了 WebRTC 点对点数据、视频和音频调用。PeerJS 封装了浏览器的 WebRTC 实现,以提供完整、可配置且易于使用的点对点连接 API。只配备一个 ID,对等点就可以创建到远程对等点的 P2P 数据或媒体流连接。
对于代理连接,PeerJS 连接到PeerServer。请注意,没有点对点数据通过服务器;服务器仅充当连接代理。
如果通过点对点连接,您的意思是对等点之间的直接连接(即,不通过服务器),那么是的,在大多数情况下理论上可能是可能的。但我从未见过有人实施了该解决方案。
您需要为 TCP 连接实现一个 NAT 打孔系统(由于无法在软件层解决的技术限制,它们并不总是 100% 成功)。然后,您只需要在此 tcp 连接之上实现 websocket 协议。
如果通过对等连接,您可以通过中央服务器(具有公共地址)进行通信,那么是的,这也是可能的。两个对等点只需要连接到中央服务器,它应该只是在两个对等点之间传输流量。