【发布时间】:2011-04-12 03:15:49
【问题描述】:
我正在寻找一种无需运行服务器应用程序即可直接连接两个或多个客户端套接字的方法。我已经搜索了几种方法,我能找到的最好的方法是 JXTA P2P 协议。我只是想知道除了JXTA之外是否还有其他选择。
客户端交互的基本功能是 (1) 客户端向所有其他客户端发送消息的能力,以及 (2) 请求其他客户端拥有的一些可用文件。
值得注意的是,我将在我的计算机 (localhost) 上运行应用程序的多个实例,因此拥有 NAT 或防火墙不是问题。
【问题讨论】:
-
接受连接或在 UDP 的情况下接收请求的代码段,根据定义是服务器。因此,在我看来,你想要的东西在逻辑上是不可能的。
-
所以你的意思是每个客户端都应该是一个客户端和一个与所有其他客户端保持连接的服务器?在 UDP 或 TCP 中会更好吗?
-
从你所说的闻起来像 UDP。看,服务器只是提供请求的东西。如果要交换文件,有人(客户)会发出请求,例如:有哪些文件?而回答的人就是服务员。
-
例如,如果一个客户端想要一个特定的文件,它会向所有正在运行的客户端询问该文件。但是,如果没有跟踪当前在线客户端的中间服务器,客户端如何知道所有可用的正在运行的客户端?
标签: java