我开始探索与其他使用p2p连接连接的选项,所以我编写了一个简单的套接字程序在JAVA中的Android设备,其中用户可以在其中分享简单的消息p2p(我对NAT没有任何的想法然后)。 我已经了解NAT,所以现在我需要build立一个TCP连接与另一个用户使用服务器进行发现,但有效载荷传输到P2P。 我也看过XMPP(一个非常好的和详细的解释协议如何工作在这里 )和UPnP,但我不知道如何实现它们。
出现的另一个有趣的问题是BitTorrent,因为它们可以在任何设备上工作,甚至在NAT后面工作。 我无法得到有关BitTorrent如何工作的任何解释。
我已经研究了很多,但我卡住了。
我的问题是:
编辑:
在networking上讨论的用于解决NAT的一种方法是使用SIP。 这已经适用于Bleep,但我无法findnetworking上的任何实施。 有人能解释一下SIP是如何工作的吗?