2011-04-11 92 views
0

我正在寻找一种直接连接两个或多个客户端套接字的方式,无需运行服务器应用程序。我已经搜索了几种方法,我能找到的最好的方法是JXTA P2P协议。我只想知道除了JXTA之外是否还有其他选择。如何将两个或多个客户端套接字直接连接在一起?

客户端进行交互的(1)的客户机的能力,以将消息发送到所有其他客户端和(2)请求一些文件中可用一些其它客户端具有的基本功能。

值得一提的是,我会在我的电脑(本地主机)上运行的应用程序的多个实例,所以有NAT的或防火墙都没有问题。

+0

接受连接的代码段,或者在UDP的情况下,接收请求** **按定义**服务器。因此,在我看来,你想要的是逻辑上不可能的。 – Ingo 2011-04-11 18:07:47

+0

所以你说每个客户端都应该是一个客户端和服务器,与所有其他客户端保持连接? UDP或TCP会更好吗? – 2011-04-11 18:14:49

+0

从你所说的闻起来像UDP。看,服务器只是提供请求的东西。如果您想交换文件,某人(客户端)将发出请求,例如:有哪些文件?而他的答案是服务器。 – Ingo 2011-04-11 18:20:40

回答

0

你想multicast sockets

This question似乎有所有你需要实现它们的代码。

注意,这是仅适用于局域网,你说你有上运行的应用程序。支持不同网络(通常跨单个大型网络的不同部分)的多播需要路由器支持。

+0

感谢@Anon的澄清,但是设备不通过LAN /任何网络连接?他们是怎么找到对方的? – gumuruh 2014-07-06 03:04:14

0

你有没有看着Hazelcast?几乎为零的设置,为您提供像List,Set,Map等常见集合的分布式实现,以及发布 - 订阅机制。默认情况下使用节点之间的多播通信。

相关问题