在两个java程序之间进行通信

时间:2011-07-22 22:52:13

标签: java client communication

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

4 个答案:

答案 0 :(得分:5)

如果您已经使用套接字实现了基本的客户端/服务器体系结构,那么您可以执行相同的操作。每个客户端都是客户端和服务器,并且您具有更多的对等类型结构。

答案 1 :(得分:1)

要设置客户端< - >客户端连接,一个客户端可以向服务器发送消息,该消息将消息传递到另一个客户端。该消息将包括客户端IP,端口,以及直接连接到第一个客户端所需的任何内容。

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

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

答案 2 :(得分:0)

这取决于您的实现方式,您可以使用网络协议在HTTP等程序之间进行通信(很常见)。

对于消息传递,也有不同类型的协议,例如XML,JSON或轻量级协议缓冲区等。

答案 3 :(得分:0)

您可以使用JXTA实现来实现此目的。虽然这不是一个简单的API。