是否有可能在不同的networking中创build点对点连接?

我想创build2个nodejs客户端之间的点对点连接。

使用websocket(dnode)

这里是极限:

  • nodejs客户端运行在两台不同的networking上。
  • 它们在NAT或防火墙后面没有静态IP(192.168.1.100 && 192.168.2.200)
  • 没有权限更改路由器的映射。
  • 在公共networking中只有静态Web服务器。 (可以通过人工更改文件)
  • 可以在PC上安装应用程序(win)

可能吗? 谢谢

也许你可以使用PeerJS来实现你的目标。 PeerJS简化了WebRTC点对点数据,video和audio呼叫。 PeerJS包装了浏览器的WebRTC实现,提供了一个完整的,可configuration的,易于使用的对等连接API。 除了一个ID之外,对等体可以创build与远程对等体的P2P数据或媒体stream连接。

对于代理连接,PeerJS连接到PeerServer 。 请注意,没有对等数据通过服务器; 服务器仅充当连接代理。

如果通过点对点连接,则意味着对等点之间的直接连接(即,不通过服务器),那么在大多数情况下理论上可能是可能的。 但是我从来没有见过实施这个解决scheme的人。

您需要为TCP连接实施一个NAT打孔系统(由于软件层无法解决的技术限制,它们并不总是成功的)。 然后,你只需要在这个TCP连接上面实现websocket协议。

如果通过点对点连接,你可以通过中央服务器(使用公共地址)通信,那么是的,这也是可能的。 两个对等端只需要连接到中央服务器,它应该只是转移两个对端之间的stream量。