我正在做一个大学项目。我需要一些Java套接字编程中的对等程序的示例程序。人们都想在客户端程序中添加服务器套接字。
具有服务器套接字和客户端套接字的单个程序是否需要创建两个程序,其中一个启动系统,另一个程序运行三次以解决问题?
我知道如何为客户端服务器模型执行套接字程序并明确概念。但是创建一个点对点架构听起来很复杂,让我理解。
我也提到this thread。
该评论的第二个人说:“要使peer2peer应用程序每个客户端也打开服务器套接字。当客户端A希望连接到客户端B时,它只是连接到它的套接字”。
需要更多示例以及对等Java套接字程序如何工作的解释。我不希望任何像jxta这样的外部API来完成这项任务。我需要清楚了解它是如何工作的。
答案 0 :(得分:9)
具有服务器套接字和客户端套接字的单个程序是否可以执行
是。实际上,这是实现P2P应用程序的常用方法。
但是创建点对点架构对我来说听起来很复杂。
没有什么特别复杂的。对等程序实际上只是一个可以实现 角色的客户端/服务器程序。而“架构”这个词在这里并没有真正增加太多,因为没有通用的“一刀切”的点对点架构。标签“peer-to-peer”实际上是关于系统的一般特征,而不是任何特定的体系结构,框架或API。 (虽然框架和API确实存在......)
但是,我遇到了这个包含Java中一些示例代码的introduction。我不知道这是否接近从套接字级别开始的问题,但说实话,如果你知道如何开发套接字级客户端/服务器并且你理解并发编程,那么将两者放在一起是直截了当的编程。给你简单的P2P。