クラス AbstractListenerWebSocketSession<T>

java.lang.ObjectSE
org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession<T>
org.springframework.web.reactive.socket.adapter.AbstractListenerWebSocketSession<T>
型パラメーター:
T - ネイティブデリゲート型
実装されたすべてのインターフェース:
Subscriber<VoidSE>WebSocketSession
既知の直属サブクラス
JettyWebSocketSessionStandardWebSocketSessionUndertowWebSocketSession

public abstract class AbstractListenerWebSocketSession<T> extends AbstractWebSocketSession<T> implements Subscriber<VoidSE>
イベントリスナー WebSocket API (例: Jakarta WebSocket API (JSR-356)、Jetty、Undertow) と Reactive Streams の間をブリッジする WebSocketSession 実装の基本クラス。

また、Subscriber<Void> を実装しているため、WebSocketHandler.handle(WebSocketSession) の補完をサブスクライブするために使用できます。

導入:
5.0
作成者:
Violeta Georgieva, Rossen Stoyanchev
  • コンストラクターの詳細

    • AbstractListenerWebSocketSession

      public AbstractListenerWebSocketSession(T delegate, StringSE id, HandshakeInfo info, DataBufferFactory bufferFactory)
      基本コンストラクター。
      パラメーター:
      delegate - ネイティブ WebSocket セッション、チャネル、接続
      id - セッション ID
      info - ハンドシェイク情報
      bufferFactory - 現在の接続の DataBuffer 係数
    • AbstractListenerWebSocketSession

      public AbstractListenerWebSocketSession(T delegate, StringSE id, HandshakeInfo info, DataBufferFactory bufferFactory, @Nullable reactor.core.publisher.Sinks.Empty<VoidSE> handlerCompletionSink)
      セッションの処理が成功またはエラーで完了したことを通知するために使用する完了シンクを備えた代替コンストラクター。

      主に WebSocketClient で使用して、処理の終了を通知できるようにします。

  • メソッドの詳細

    • getSendProcessor

    • receive

      public reactor.core.publisher.Flux<WebSocketMessage> receive()
      インターフェースからコピーされた説明: WebSocketSession
      受信メッセージのストリームへのアクセスを提供します。

      このストリームは、接続が閉じられたときに完了またはエラー信号を受け取ります。典型的な WebSocketHandler 実装では、このストリームは全体的な処理フローに組み込まれるため、接続が閉じられると処理が終了します。

      セッションの処理方法の詳細と例については、WebSocketHandler のクラスレベルのドキュメントとリファレンスを参照してください。

      次で指定:
      インターフェース WebSocketSessionreceive 
      次で指定:
      クラス AbstractWebSocketSession<T>receive 
    • send

      public reactor.core.publisher.Mono<VoidSE> send(Publisher<WebSocketMessage> messages)
      インターフェースからコピーされた説明: WebSocketSession
      発信メッセージのソースを提供し、メッセージを書き込み、ソースが完了して書き込みが完了すると完了する Mono<Void> を返します。

      セッションの処理方法の詳細と例については、WebSocketHandler のクラスレベルのドキュメントとリファレンスを参照してください。

      次で指定:
      インターフェース WebSocketSessionsend 
      次で指定:
      クラス AbstractWebSocketSession<T>send 
    • closeStatus

      public reactor.core.publisher.Mono<CloseStatus> closeStatus()
      インターフェースからコピーされた説明: WebSocketSession
      セッションがローカルまたはリモートで閉じられる CloseStatus へのアクセスを提供します。セッションがステータスなしで終了した場合は、空になります。
      次で指定:
      インターフェース WebSocketSessioncloseStatus 
    • canSuspendReceiving

      protected abstract boolean canSuspendReceiving()
      基礎となる WebSocket API にフロー制御があり、メッセージの受信を一時停止および再開できるかどうか。

      注意 : サブクラスは、可能であれば一時停止モードで開始し、要求が受信されるまで待機することをお勧めします。

    • suspendReceiving

      protected abstract void suspendReceiving()
      受信したメッセージが処理され、ダウンストリームサブスクライバーによってより多くの要求が生成されるまで、受信を中断します。

      注意 : 基礎となる WebSocket API がメッセージを受信するためのフロー制御を提供しない場合、このメソッドは何もしないで、canSuspendReceiving() は false を返す必要があります。

    • resumeReceiving

      protected abstract void resumeReceiving()
      ダウンストリームサブスクライバによって要求が生成された後、新しいメッセージの受信を再開します。

      注意 : 基礎となる WebSocket API がメッセージを受信するためのフロー制御を提供しない場合、このメソッドは何もしないで、canSuspendReceiving() は false を返す必要があります。

    • sendMessage

      protected abstract boolean sendMessage(WebSocketMessage message) throws IOExceptionSE
      指定された WebSocket メッセージを送信します。

      注意 : プールされたバッファーが基になるコンテナーに適用される場合、サブクラスは、完全に書き込まれた後、ペイロードデータバッファーを解放します。

      例外:
      IOExceptionSE
    • onSubscribe

      public void onSubscribe(Subscription subscription)
      次で指定:
      インターフェース Subscriber<T>onSubscribe 
    • onNext

      public void onNext(VoidSE aVoid)
      次で指定:
      インターフェース Subscriber<T>onNext 
    • onError

      public void onError(ThrowableSE ex)
      次で指定:
      インターフェース Subscriber<T>onError 
    • onComplete

      public void onComplete()
      次で指定:
      インターフェース Subscriber<T>onComplete