Socket プロトコルを介してサービスに接続する Observable があります。ソケットへの接続は、クライアント ライブラリを介して行われます。私が使用するクライアント ライブラリには java.util.Observer があり、プッシュされるイベントを登録できます。
final class MyObservable extends Observable[MyEvent] {
def subscribe(subscriber: Subscriber[MyEvent]) = {
// connect to the Socket (Step: 1)
// get the responses that are pushed (Step: 2)
// transform them into MyEvent type (Step: 3)
}
}
わからない未解決の問題が 2 つあります。
ステップ 3 の結果をサブスクライバーで取得するにはどうすればよいですか?
以下のようなサブスクライバーで MyEvent を取得するたびに、新しい接続が作成されていることがわかります。最終的に、受信イベントごとにステップ 1、ステップ 2、およびステップ 3 が実行されます。
val myObservable = new MyObservale()
myObservable.subscribe()