使用Java的对等应用程序

问题描述 投票:0回答:2

我想使用Java和Netbeans IDE开发一个p2p应用程序。在我的应用程序中,我想做两件事

  • 用户之间的文件共享
  • 用户之间的聊天我从其他资源中阅读过

Introduction to the Peer-to-Peer Sockets Project

Peer-to-Peer File Sharing

问题是我如何能够将两台或多台PC连接到不同的网络。显示所有连接的对等方,大小限制下任何类型的文件共享。任何帮助将不胜感激。

java sockets networking netbeans p2p
2个回答
2
投票

这些问题处理的是NAT遍历中最著名的问题,处理NAT遍历与您所使用的语言无关,而与基本问题域有关。首先,您需要使用某种信令方法(例如SIP,Jingle ..)来通告两端的地址。现在,如果您要连接位于同一网络或NAT后面的两个端点,则只需知道或通告本地主机候选者就可以完成工作,但是如果您的任何端点位于网络之外或在两个端点之间具有NAT,那么您需要使用STUN / TURN / ICE之类的协议遍历NAT。根据您的用例,您可能有兴趣阅读RFC-5389,RFC-5245和RFC-5766等RFC。一旦知道了您的需求,您可能会得到google的任何开源解决方案,或者如果您好奇的话,可以开始基于RFC实施解决方案。因此,诸如NAT遍历或STUN / TURN / ICE之类的关键字可能会帮助您首先了解您的问题,一旦知道了问题域,便可以找到解决方案。


0
投票

现在,如果您要连接位于同一网络或NAT后面的两个端点,则只需知道或通告本地主机候选者就可以完成此工作,但是如果您的任何端点位于网络之外或之间有NAT,两个端点,则需要使用诸如STUN / TURN / ICE之类的协议遍历NAT。

© www.soinside.com 2019 - 2024. All rights reserved.