3

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()
4

1 に答える 1

2

私があなたの質問を誤解していない限り、あなたはただ電話してくださいonNext

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)

  // finally notify the subscriber:
  subscriber.onNext(myEventFromStep3)
}

サブスクライブするコードは次のようになります。

myObservable.subscribe(onNext = println(_))
于 2015-07-29T15:11:32.233 に答える