我想使用Java和Netbeans IDE开发一个p2p应用程序。在我的应用程序中,我想做两件事
Introduction to the Peer-to-Peer Sockets Project
问题是我如何能够将两台或多台PC连接到不同的网络。显示所有连接的对等方,大小限制下任何类型的文件共享。任何帮助将不胜感激。
这些问题处理的是NAT遍历中最著名的问题,处理NAT遍历与您所使用的语言无关,而与基本问题域有关。首先,您需要使用某种信令方法(例如SIP,Jingle ..)来通告两端的地址。现在,如果您要连接位于同一网络或NAT后面的两个端点,则只需知道或通告本地主机候选者就可以完成工作,但是如果您的任何端点位于网络之外或在两个端点之间具有NAT,那么您需要使用STUN / TURN / ICE之类的协议遍历NAT。根据您的用例,您可能有兴趣阅读RFC-5389,RFC-5245和RFC-5766等RFC。一旦知道了您的需求,您可能会得到google的任何开源解决方案,或者如果您好奇的话,可以开始基于RFC实施解决方案。因此,诸如NAT遍历或STUN / TURN / ICE之类的关键字可能会帮助您首先了解您的问题,一旦知道了问题域,便可以找到解决方案。
现在,如果您要连接位于同一网络或NAT后面的两个端点,则只需知道或通告本地主机候选者就可以完成此工作,但是如果您的任何端点位于网络之外或之间有NAT,两个端点,则需要使用诸如STUN / TURN / ICE之类的协议遍历NAT。