用Java开发对等应用程序

用Java开发对等应用程序,java,p2p,Java,P2p,我有一个大学项目,我需要用java开发一个对等系统来共享文件 因此,本质上,几个用户应该能够使用对等系统共享文件 有人能给我一些关于如何构建这个系统的指导吗???对于大学项目,请阅读一些关于套接字的教程。我相信这就是你的教授对你的期望。以以下为例: 有两种通用解决方案:服务器已满和无服务器。对于基于服务器的解决方案,所有客户端都应预先配置服务器的IP地址。服务器打开服务器套接字并开始侦听。所以,每个客户机都连接到服务器并注册。注册非常简单:服务器只需要客户端的IP。现在,服务器保存一个已连接客户

我有一个大学项目,我需要用java开发一个对等系统来共享文件

因此,本质上,几个用户应该能够使用对等系统共享文件


有人能给我一些关于如何构建这个系统的指导吗???

对于大学项目,请阅读一些关于套接字的教程。我相信这就是你的教授对你的期望。以以下为例:

有两种通用解决方案:服务器已满和无服务器。对于基于服务器的解决方案,所有客户端都应预先配置服务器的IP地址。服务器打开服务器套接字并开始侦听。所以,每个客户机都连接到服务器并注册。注册非常简单:服务器只需要客户端的IP。现在,服务器保存一个已连接客户端的列表,并将该列表发送给每个客户端。要制作peer2peer应用程序,每个客户端也会打开服务器套接字。当客户端A希望连接到客户端B时,它只连接到其套接字

您可以实现无服务器解决方案。在这种情况下,您需要一些基于广播的发现机制


我希望这有帮助。祝你好运。

你想查看JXTA。该站点已移动到。实用的JXTA II书已经在Scribd上提供给读者阅读。

我建议您看看对等文件共享的众多开源实现之一,并将其用作模板(或直接使用它们),不知道服务器IP地址的客户端如何?因为(所有设备)尚未连接到任何网络?我建议他们使用wifi通信。但这可能吗?Wifi只是连接到TCP/IP世界的一种方式。如果客户端不知道服务器的IP,则需要某种发现机制。例如brodcast。但这仅在封闭的网络中是可能的。这是否意味着两台android设备不可能在已经打开WIFI(但未连接到任何网络)的WIFI上进行通信-没有互联网、没有蓝牙、没有手机数据?我觉得java/android可以通过wifi广播它的简单字符串@亚历克斯利:我想他们可以,但我不熟悉安卓API。我也不完全理解你是如何从我的评论中得出这个结论的。因为你刚才说我们需要实现服务器-客户端的概念,以便在设备之间进行通信。这是真的。我只是想知道如何让一台设备通过无线信号发送数据,而不连接任何网络连接,从而向另一台设备发出呼叫。