如何用Java构建一个简单的对等系统?

如何用Java构建一个简单的对等系统?,java,sockets,network-programming,Java,Sockets,Network Programming,我正在做一个大学项目。我需要一些关于Java套接字编程中对等程序的示例程序。到处都有人说要在客户端程序中添加服务器套接字 一个具有服务器套接字和客户端套接字的程序会这样做吗?还是我必须创建两个程序,一个启动系统,另一个运行三次的对等程序来解决问题 我知道如何为客户机-服务器模型做一个套接字程序,并且对概念很清楚。但是创建一个点对点架构对我来说听起来很复杂 我还提到 第二个评论的人说:“要制作peer2peer应用程序,每个客户端也会打开服务器套接字。当客户端A希望连接到客户端B时,它只会连接到其

我正在做一个大学项目。我需要一些关于Java套接字编程中对等程序的示例程序。到处都有人说要在客户端程序中添加服务器套接字

一个具有服务器套接字和客户端套接字的程序会这样做吗?还是我必须创建两个程序,一个启动系统,另一个运行三次的对等程序来解决问题

我知道如何为客户机-服务器模型做一个套接字程序,并且对概念很清楚。但是创建一个点对点架构对我来说听起来很复杂

我还提到

第二个评论的人说:“要制作peer2peer应用程序,每个客户端也会打开服务器套接字。当客户端A希望连接到客户端B时,它只会连接到其套接字。”

需要更多关于对等Java套接字程序如何工作的示例和解释。我不想让任何像jxta这样的外部API来完成这项任务。我需要清楚地了解它是如何工作的

有服务器套接字和客户端套接字的单个程序可以吗

对。事实上,这是实现P2P应用程序的正常方式

但是创建一个点对点架构对我来说听起来很复杂

没有什么特别复杂的。一个点对点程序实际上只是一个客户机/服务器程序,可以完成任何一个角色。“架构”这个词在这里并没有太多含义,因为没有通用的“一刀切”的点对点架构。“对等”标签实际上是关于系统的一般特性,而不是关于任何特定的体系结构、框架或API。(尽管框架和API确实存在…)

然而,我遇到了这个问题,其中包括一些Java示例代码。我不知道这是否解决了从套接字级别开始的问题,但老实说,如果您知道如何开发套接字级别的客户机/服务器,并且了解并发编程,那么将两者结合起来以提供简单的P2P编程是很简单的