【发布时间】:2017-10-12 08:09:03
【问题描述】:
我有用于套接字通信的自定义 Rx 适配器。 在它之外,我用消息观察 Flowable。 然后我有一些管理器来处理每条消息,然后进一步发出它。
fun observeSocket() = socketManager
.observe()
.doOnNext{
insideMessageHandler.handle(it)
}
然后我有两个订阅者会观察Socket().subscribe()
问题在于每条消息 insideMessageHandler.handle(it) 都会被调用两次。我想找到流的一部分对于每个订阅者来说都是通用的方式。不幸的是,observeSocket() 末尾的 .share() 运算符不起作用。
我有两次这样的事情:
/onNextInside
Flowable/-onNextOutsideSubscriber1
Flowable\-onNextOutsideSubscriber2
\-onNextInside
我想要这样的东西:
/-onNextInside
Flowable/-onNextOutsideSubscriber1
\-onNextOutsideSubscriber2
在代码中看起来像
insideManager.observeSocket().subscribe({do something first})
insideManager.observeSocket().subscribe({do something second})
问题在于,在这种情况下,我调用了两次 onNextInside
有可能吗?
【问题讨论】:
标签: android sockets kotlin rx-java rx-java2