我正在尝试组建一个RMI聊天服务器,具有多个房间的功能。然而,由于我是新手,不确定如何正确实现观察者模式,或者我的前提是否合理。
我有一个ChatServer对象和一个ChatUser(客户端)对象。 ChatServer包含一个ChatRoom对象列表。
每个ChatRoom都扩展了UnicastRemoteObject。但是,我希望在这里实现观察者模式,并使ChatRoom也扩展Observable,当然Java无法做到这一点。
这个想法是使用观察者模式,让所有客户端在ChatRoom接收新消息时接收更新。
我想知道在这种情况下是否有一种实际实现某种观察者模式的方法? 我已经初步在Google上检查过,但我遇到的大多数解决方案往往非常复杂或有点太过头了。
否则,从我给出的非常简短的想法来看,我做事情的方式是否存在根本问题?
提前致谢;)
我有一个ChatServer对象和一个ChatUser(客户端)对象。 ChatServer包含一个ChatRoom对象列表。
每个ChatRoom都扩展了UnicastRemoteObject。但是,我希望在这里实现观察者模式,并使ChatRoom也扩展Observable,当然Java无法做到这一点。
这个想法是使用观察者模式,让所有客户端在ChatRoom接收新消息时接收更新。
我想知道在这种情况下是否有一种实际实现某种观察者模式的方法? 我已经初步在Google上检查过,但我遇到的大多数解决方案往往非常复杂或有点太过头了。
否则,从我给出的非常简短的想法来看,我做事情的方式是否存在根本问题?
提前致谢;)
UnicastRemoteObject
。我会尝试从旧项目中生成代码示例,但请查看Oracle文档以了解如何导出远程对象。 - Thorn G