使用java的sockets对等应用程序
我想用java和netbeans IDE开发一个p2p应用程序。在我的应用程序中,我想做两件事
- 用户之间的文件共享
- 用户之间的聊天 我读过不同的资料
Introduction to the Peer-to-Peer Sockets Project
问题是我如何连接两台或更多连接到不同网络的电脑。显示所有连接的对等点,在大小限制下共享任何类型的文件。任何帮助都将不胜感激
你可以在下面搜索框中键入要查询的问题!
我想用java和netbeans IDE开发一个p2p应用程序。在我的应用程序中,我想做两件事
Introduction to the Peer-to-Peer Sockets Project
问题是我如何连接两台或更多连接到不同网络的电脑。显示所有连接的对等点,在大小限制下共享任何类型的文件。任何帮助都将不胜感激
# 1 楼答案
现在,如果您正试图连接位于同一网络或NAT后面的两个端点,那么只需知道或宣传本地候选主机即可,但如果您的任何端点位于网络之外或在两个端点之间具有NAT,则需要使用类似于STUN/TURN/ICE的协议来遍历NAT
# 2 楼答案
这些问题是关于NAT遍历的最广为人知的问题,处理NAT遍历与您使用的语言无关,而是关于基本问题域。首先,您需要使用一些信令方法(例如SIP、叮当声等)公布两端的地址。现在,如果您正试图连接位于同一网络或NAT后面的两个端点,那么只需知道或宣传本地候选主机即可,但如果您的任何端点位于网络之外或在两个端点之间具有NAT,则需要使用类似于STUN/TURN/ICE的协议来遍历NAT。根据您的用例,您可能有兴趣阅读RFC-5389、RFC-5245和RFC-5766等RFC。一旦你知道你需要什么,你可能会得到谷歌提供的任何开源解决方案,或者如果你足够好奇,你可以开始基于RFC实现你的解决方案。因此,NAT traversal或STUN/TURN/ICE等关键词可能会帮助您首先了解问题,一旦您了解了问题域,就可以找到解决方案