2012-01-12 100 views
0

假設我們有一個服務器和兩個或更多的客戶端連接到它。服務器希望通過ObjectOutputStream發送一個對象,以便使用它並使用方法getOutputStream()打開服務器流輸出。服務器只想將此文件發送給一個確定的客戶端,該客戶端有一個以特定方式設置的字段。 服務器將對象客戶端及其所有字段保存在列表中。服務器只想發送一個對象給一個客戶端,這個客戶端有一個以某種方式設置的字段。所以服務器迭代列表,並且在找到客戶端發送給它的對象後,如何確定到客戶端的網絡?通過ObjectOutputStream發送一個對象只有一個客戶端

+0

這不是你可以用套接字和對象流解決的問題。我建議閱讀JMS。 – bmargulies 2012-01-12 14:02:18

回答

0

如果你真的想這樣做,你將需要多個連接和/或多次往返。客戶端必須主動將其狀態發送到服務器,否則服務器必須詢問它們。或者,第三,服務器可以向他們發送所有相同的消息,但是包含一個標誌意味着'只有在'自由'時纔會注意。

真的,你最好學習使用消息隊列系統。例如,您可以使用Apache ActiveMQ,並且您可以在JMS上使用Spring/JMS或Apache CXF Soap。

1

讓每個客戶端發送它的狀態到服務器時,它的變化,或發送對象的所有客戶,讓他們忽略該消息,如果他們的身份是假的。

相關問題