我想使用java和netbeans IDE开发一个p2p应用程序。在我的应用程序中,我想做两件事
- 用户之间的文件共享
- 用户之间的聊天我从不同的资源中读过
对等套接字项目简介
对等文件共享
问题是我如何能够连接两个或多个电脑连接到不同的网络。显示所有连接的对等端,大小限制下的任何类型的文件共享。任何帮助都将不胜感激。
这些问题是关于NAT穿越的最著名的问题,处理NAT穿越与您使用的语言无关,而是关于基本问题域。首先,你需要使用一些信令方法(即SIP、Jingle..)来公布你的两端地址。现在,如果你试图连接位于同一网络或NAT后面的两个端点,那么只需知道或公布本地候选主机就可以了,但是,如果你的任何一个端点位于网络之外,或者在两个端点之间有NAT,那么你需要使用STUN/TURN/ICE等协议来遍历NAT。根据您的用例,您可能有兴趣阅读RFC-5389、RFC-5245和RFC-5766等RFC。一旦你知道你需要什么,你可以通过谷歌获得任何开源解决方案,或者如果你足够好奇,你可以开始实现基于RFC的解决方案。因此,像NAT穿越或STUN/TURN/ICE这样的关键词可能会帮助你首先了解你的问题,一旦你了解了你的问题域,你就可以找到解决方案。
现在,如果您试图连接位于同一网络或NAT后面的两个端点,那么只需知道或宣传本地候选主机即可完成这项工作,但如果您的任何端点位于网络之外或在两个端点之间具有NAT,则您需要使用STUN/TURN/ICE等协议遍历NAT。