gpt4 book ai didi

java - 通过 RMI 实现观察者模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:17 25 4
gpt4 key购买 nike

我正在尝试组装一个具有多个房间的 RMI 聊天服务器。但是,作为 RMI 的新手,我不确定如何正确实现观察者模式,或者我的前提是否真的有意义。

我有一个 ChatServer 对象和一个 ChatUser(客户端)对象。 ChatServer 包含一个 ChatRoom 对象列表。

每个 ChatRoom 都扩展了 UnicastRemoteObject。不过,我想在这里实现观察者模式,让ChatRoom也扩展Observable,这在Java中当然做不到。

想法是使用观察者模式让所有客户端在 ChatRoom 收到新消息时接收更新。

我想知道在这种情况下是否有实际实现某种观察者模式的方法?我已经对 Google 进行了初步检查,但我遇到的大多数解决方案往往非常复杂或者有点过于夸张。

否则,我在这里做事的方式是否存在根本性错误(根据我给出的非常简短的想法)?

提前致谢;)

最佳答案

是的,您可以在ChatRoom 接口(interface)中简单地声明一个register(ChatClient) 方法。 ChatClient 需要扩展 Remote 并导出为远程对象,就像您的 ChatServerChatRoom 接口(interface)一样. ChatClient 会声明一些回调方法来接收来自聊天室的消息。

关于java - 通过 RMI 实现观察者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21053842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com