通过ObjectOutputStream仅向一个客户端发送一个对象

时间:2012-01-12 14:01:16

标签: java

假设我们有一台服务器和两台或多台客户端连接。服务器希望通过ObjectOutputStream发送一个对象,因此使用它并使用方法getOutputStream()打开服务器流输出。服务器只想将此文件发送给一个确定的客户端,该客户端以某种方式设置了一个字段。 服务器在列表中维护具有其所有字段的对象客户端。服务器只想将对象发送给具有以某种方式设置的字段的客户端。因此服务器迭代列表并在找到客户端向其发送对象之后。但是如何确定进入客户端的网络?

2 个答案:

答案 0 :(得分:1)

让每个客户端在更改时将其状态发送到服务器,或者将对象发送给所有客户端,如果状态为false,则让他们忽略该消息。

答案 1 :(得分:0)

如果您真的想这样做,您将需要多个连接和/或多次往返。客户端必须主动将其状态发送到服务器,否则服务器必须询问它们。或者,第三,服务器可以向他们发送所有相同的消息,但是包含一个标志意味着“只有在你'自由'时才会注意。”

真的,你最好学习使用消息队列系统。例如,你可以使用Apache ActiveMQ,你可以使用Spring / JMS或Apache CXF Soap而不是JMS。