我正在编写一个简单的应用程序来开始使用RxJava,我没有弄清楚如何完成以下操作。
我有一个websocket连接,由WebSocket对象表示。我的想法是创建一个observable并在有人订阅observable时启动WebSocket连接。
我的自定义Observable将接收来自WebSocket的事件,如onOpen(),onMessage(),onClosing()和onFailure()。当它从WebSocket接收到这些呼叫时,它会通知用户。这听起来不错。只需调用onNext()并提供消息。
令我困惑的部分是:如果我的订阅者必须使用相同的WebSocket对象回复这些消息,该怎么办? 这就是我要做的事情:
所以问题是,这个人是谁? 在Rx中实现这一目标的最佳方法是什么?我怀疑我应该将回复发布到另一个Observable,但是其他Observable根本无法访问WebSocket,因此它无法实际发送回复。
我是否负责从接收Observable到发送Observable的通信通道(WebSocket对象)?这对我来说听起来真的不对。
或者我应该将共享的WebSocket保存在两个Observable都可以访问的地方吗?
很抱歉,如果这个问题对某人来说听起来很愚蠢/琐碎,但这是我第一次使用RxJava并且我完全意识到问题在于我现在还没有"想到Reactive",还没有。