2011-07-22 137 views
-1

我想创建两个Java程序,它们通过消息相互通信。我知道方法客户端< - >服务器< - >客户端(使用套接字),但我想创建客户端< - >客户端通信(无服务器)。我怎么能这样做?两个java程序之间的通信

+0

也许P2P又称为对等网络? – Enrique

回答

5

如果您已实现与插座一个基本的客户机/服务器体系结构,那么你可以做同样的事情。每个客户端既是客户端又是服务器,并且具有更多的对等类型结构。

1

要设置客户端< - >客户端的连接中,一个客户端可以将消息发送到服务器,该服务器将消息传递到所述其他客户端。该消息将包括客户端IP,端口,无论什么需要直接连接到第一个客户端。

这是为在IM客户端文件传输和在SIP实际媒体流的常用方法。如果客户端位于不同的网络上,请务必注意防火墙问题 - 请参阅STUN,TURN和ICE遍历。

您可以(重新)使用现有的Jabber(XMPP)此实现。

0

这取决于你如何实现,你可以使用网络协议,如HTTP(很常见的)程序之间的通信。

对于消息传递,有不同类型的协议,以及,如XML,JSON或重量轻的协议缓冲液等

0

可以使用JXTA实现此目的。尽管这不是一个简单的API。