使用java的点对点应用程序

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

  • 用户之间的文件共享
  • 我从不同资源中读取的用户之间的聊天

对等套接字项目简介

点对点文件共享

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

这些问题正在处理最常见的NAT遍历问题,处理NAT遍历与您使用的语言无关,而与其基本问题领域有关。 首先,你需要使用一些信令方法(即SIP,Jingle ……)来宣传你们两端的地址。 现在,如果您尝试连接位于相同网络或NAT后面的两个端点,那么只需知道或通告本地主机候选人就可以完成这项工作,但是如果您的任何终点位于网络的一侧或两个端点之间有NAT然后你需要使用STUN / TURN / ICE等协议遍历NAT。 根据您的使用案例,您可能有兴趣阅读RFC-5389,RFC-5245和RFC-5766等RFC。 一旦你知道你需要什么,你可以通过谷歌获得任何开源解决方案,或者如果你很好奇,你可以开始实施基于RFC的解决方案。 因此,NAT遍历或STUN / TURN / ICE等关键字可能会帮助您首先了解您的问题,一旦您了解了您的问题域,就可以找到解决方案。