我正在尝试将具有多个房间的RMI聊天服务器放在一起。但是,对于RMI还是陌生的,我不确定如何正确实现观察者模式,或者我的前提是否确实有意义。
我有一个ChatServer
对象和一个ChatUser
(客户端)对象。该ChatServer
包含一系列ChatRoom
对象。
每个ChatRoom
延伸UnicastRemoteObject
。但是,我希望在这里实现观察者模式,并且ChatRoom
还要扩展Observable
,这当然不能用Java完成。
想法是使用观察者模式让所有客户端在ChatRoom
收到新消息时都收到更新。
我想知道在这种情况下是否有一种实际实现某种观察者模式的方法?我已经对Google进行了初步检查,但是我遇到的大多数解决方案都非常令人费解,或者有些过高。
否则,我在这里做事的方式是否有根本性的错误(从我给出的非常简短的想法出发)?
提前致谢 ;)
是的,您只需register(ChatClient)
在ChatRoom
接口中声明一个方法。在ChatClient
需要扩展Remote
和导出为一个远程对象,就像你ChatServer
和ChatRoom
接口。在ChatClient
将宣布一些回调方法,从聊天室收到消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句