6

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

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

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

我也提到了这个线程

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

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

4

1 回答 1

11

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

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

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

没有什么特别复杂的。对等程序实际上只是一个可以完成一角色的客户端/服务器程序。并且“架构”这个词在这里并没有真正增加太多,因为没有通用的“一刀切”对等架构这样的东西。“点对点”这个标签实际上是关于系统的一般特征,而不是关于任何特定的架构、框架或 API。(虽然框架和 API 确实存在......)

但是,我遇到了这个介绍,其中包含一些 Java 示例代码。我不知道这是否从套接字级别开始解决问题,但老实说,如果您知道如何开发套接字级别的客户端/服务器并且您了解并发编程,那么将两者放在一起是直接的编程给你简单的P2P。

于 2012-09-12T03:28:39.787 回答