2011-07-22 191 views
-1

我想創建兩個Java程序,它們通過消息相互通信。我知道方法客戶端< - >服務器< - >客戶端(使用套接字),但我想創建客戶端< - >客戶端通信(無服務器)。我怎麼能這樣做?兩個java程序之間的通信

+0

也許P2P又稱爲對等網絡? – Enrique

回答

5

如果您已實現與插座一個基本的客戶機/服務器體系結構,那麼你可以做同樣的事情。每個客戶端既是客戶端又是服務器,並且具有更多的對等類型結構。

1

要設置客戶端< - >客戶端的連接中,一個客戶端可以將消息發送到服務器,該服務器將消息傳遞到所述其他客戶端。該消息將包括客戶端IP,端口,無論什麼需要直接連接到第一個客戶端。

這是爲在IM客戶端文件傳輸和在SIP實際媒體流的常用方法。如果客戶端位於不同的網絡上,請務必注意防火牆問題 - 請參閱STUN,TURN和ICE遍歷。

您可以(重新)使用現有的Jabber(XMPP)此實現。

0

這取決於你如何實現,你可以使用網絡協議,如HTTP(很常見的)程序之間的通信。

對於消息傳遞,有不同類型的協議,以及,如XML,JSON或重量輕的協議緩衝液等

0

可以使用JXTA實現此目的。儘管這不是一個簡單的API。