2

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

我使用套接字在它们之间进行通信。我想知道当两个对等点位于两个私有网络之后(他们不知道彼此的公共 IP 地址)时,我是否可以使用相同类型的通信。我可以将共享缓冲区想象成一个众所周知的位置一种交流方式。但是还有其他方法可以完成这项工作吗?

4

3 回答 3

1

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

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

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

于 2010-04-10T02:32:33.237 回答
0

由于两者都在不同的专用网络中,因此两个对等点无法相互通信。您需要有一个公共服务器,以便您可以通过该服务器建立连接。参考 resiprocate , Resiprocate了解详情

于 2013-03-07T12:37:09.163 回答
0

正如已经发布的那样,STUN 和 TURN 是实现这一目标的常用方法,并且是基于标准的方法。但是,我最近看到了一种非常有趣的方法来使用 icmp 消息来执行此操作。它称为 pwnat,可在此处获得

于 2010-04-10T02:54:53.640 回答