Networking 跨两个专用网络的网络通信

Networking 跨两个专用网络的网络通信,networking,communication,p2p,xen,Networking,Communication,P2p,Xen,我正在尝试实现点对点通信 我使用套接字在它们之间进行通信。我想知道,当两个对等点位于两个专用网络(它们彼此不知道公共ip地址)后面时,是否有任何方法可以使用相同类型的通信。我可以考虑在一个众所周知的位置使用共享缓冲区作为通信手段。但是还有其他的方法可以做到这一点吗? ,你可能还需要考虑两个对等点甚至没有公共IP地址的情况,在这种情况下,你可以使用技术来避免中央服务器的需要。眩晕已经在Skype等产品中得到了有效的应用(我认为),但在现阶段它仍然是一门黑色艺术 对于一个中心方法,考虑其中一个非常流

我正在尝试实现点对点通信


我使用套接字在它们之间进行通信。我想知道,当两个对等点位于两个专用网络(它们彼此不知道公共ip地址)后面时,是否有任何方法可以使用相同类型的通信。我可以考虑在一个众所周知的位置使用共享缓冲区作为通信手段。但是还有其他的方法可以做到这一点吗?

,你可能还需要考虑两个对等点甚至没有公共IP地址的情况,在这种情况下,你可以使用技术来避免中央服务器的需要。眩晕已经在Skype等产品中得到了有效的应用(我认为),但在现阶段它仍然是一门黑色艺术

对于一个中心方法,考虑其中一个非常流行的实现。各种其他消息传递协议也存在,例如新兴的AMPQ标准


这些技术可能比基于套接字的本地协议更加健壮和可扩展。

如前所述,STUN和TURN是实现这一点的常用方法,并且是基于标准的方法。然而,我最近看到了一种非常有趣的方法,可以使用icmp消息来实现这一点

由于两者位于不同的专用网络中,因此两个对等点无法相互通信。 您需要有一个公共服务器,以便可以通过该服务器建立连接。 有关详细信息,请参阅resiprocate