簡體   English   中英

僅通過一個客戶端通過ObjectOutputStream發送對象

[英]send an object through ObjectOutputStream only one client

假設我們有一台服務器和兩個或多個客戶端相連。 服務器希望通過ObjectOutputStream發送一個對象,因此可以使用它並使用方法getOutputStream()打開服務器流輸出。 服務器只希望將此文件發送給以某種方式設置了一個字段的一個確定的客戶端。 服務器在列表中維護對象客戶端及其所有字段。 服務器只想將對象發送給具有以某種方式設置了字段的客戶端,因此服務器對列表進行迭代,然后找到該客戶端向其發送對象,但是如何確定進入客戶端的網絡呢?

讓每個客戶端在其更改時將其狀態發送到服務器,或者將對象發送給所有客戶端,如果它們的狀態為false,則讓他們忽略該消息。

如果確實要執行此操作,則將需要多個連接和/或多個往返。 客戶端要么必須主動將其狀態發送到服務器,要么服務器必須詢問他們。 或者,第三,服務器可以向他們發送相同的消息,但其中包含一個標志,表示“僅在您有空時注意”。

確實,您最好學習使用消息隊列系統。 例如,您可以使用Apache ActiveMQ,也可以在JMS上使用Spring / JMS或Apache CXF Soap。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM