パッケージ jakarta.websocket

インターフェース RemoteEndpoint.Basic

  • すべてのスーパーインターフェース:
    RemoteEndpoint
    含まれているインターフェース:
    RemoteEndpoint

    public static interface RemoteEndpoint.Basic
    extends RemoteEndpoint
    Web ソケット会話のピアのこの表現には、メッセージを同期的に送信する機能があります。送信の完了ポイントは、提供されたすべてのデータが基になる接続に書き込まれたときに定義されます。メッセージを書き込むための従来のブロッキング I/O ストリームを提示する getSendStream および getSendWriter を除いて、この完了ポイントに到達するまで RemoteEndpoint.Basic ブロックでメッセージを送信するためのメソッド。

    この RemoteEndpoint の基盤となる WebSocket 接続が、別のスレッドを送信するための呼び出しが行われたときにメッセージの送信でビジー状態になっている場合。たとえば、2 つのスレッドが send メソッドを同時に呼び出そうとした場合、または開発者が途中で新しいメッセージを送信しようとした場合。既存のものを送信する場合、接続がすでにビジー状態のときに呼び出された send メソッドは、IllegalStateExceptionSE をスローする可能性があります。

    • メソッドの詳細

      • sendText

        void sendText​(StringSE text)
               throws IOExceptionSE
        テキストメッセージを送信し、すべてのメッセージが送信されるまでブロックします。
        パラメーター:
        text - 送信するメッセージ。
        例外:
        IOExceptionSE - メッセージの配信に問題がある場合。
        IllegalArgumentExceptionSE - テキストが null の場合。
      • sendBinary

        void sendBinary​(ByteBufferSE data)
                 throws IOExceptionSE
        バイナリメッセージを送信し、すべてのメッセージが送信されたときに戻ります。

        このメッセージの送信が完了するまで、他のスレッドが ByteBuffer を使用することは安全ではありません。メッセージの送信が正常に完了すると、バッファーの制限は変更されず、バッファーの位置は制限と等しくなります。メッセージの送信が正常に完了しない場合、バッファの状態は未定義です。

        パラメーター:
        data - 送信するメッセージ。
        例外:
        IOExceptionSE - メッセージの配信に問題がある場合。
        IllegalArgumentExceptionSE - データが null の場合。
      • sendText

        void sendText​(StringSE partialMessage,
                      boolean isLast)
               throws IOExceptionSE
        テキストメッセージを部分的に送信し、メッセージ全体が送信されるまでブロックします。ランタイムはメッセージを順番に読み取ります。メッセージの最終部分以外の部分は、isLast を false に設定して送信されます。最終部分は、isLast を true に設定して送信する必要があります。
        パラメーター:
        partialMessage - 送信されるメッセージの部分。
        isLast - 送信されている部分的なメッセージがメッセージの最後の部分であるかどうか。
        例外:
        IOExceptionSE - メッセージフラグメントの配信に問題がある場合。
        IllegalArgumentExceptionSE - partialMessage が null の場合。
      • sendBinary

        void sendBinary​(ByteBufferSE partialByte,
                        boolean isLast)
                 throws IOExceptionSE
        バイナリメッセージを部分的に送信し、すべてのメッセージが送信されるまでブロックします。ランタイムはメッセージを順番に読み取ります。最終部分以外の部分は、isLast を false に設定して送信されます。最終部分は、isLast を true に設定して送信する必要があります。

        このパート的なメッセージの送信が完了するまで、他のスレッドが ByteBuffer を使用することは安全ではありません。部分的なメッセージの送信が正常に完了すると、バッファの制限は変更されず、バッファの位置は制限と等しくなります。部分的なメッセージの送信が正常に完了しない場合、バッファーの状態は未定義です。

        パラメーター:
        partialByte - 送信されるメッセージの一部。
        isLast - 送信されている部分的なメッセージがメッセージの最後の部分であるかどうか。
        例外:
        IOExceptionSE - 部分的なメッセージの配信に問題がある場合。
        IllegalArgumentExceptionSE - partialByte が null の場合。
      • getSendStream

        OutputStreamSE getSendStream()
                            throws IOExceptionSE
        バイナリメッセージを送信できる出力ストリームを開きます。開発者は、完全なメッセージが出力ストリームに配置されたことを示すために、出力ストリームを閉じる必要があります。出力ストリームが閉じられる前に write() メソッドのいずれかが呼び出されなかった場合、WebSocket バイナリメッセージは送信されません。出力ストリームが閉じられる前に、write() メソッドの 1 つに対して少なくとも 1 回の呼び出しが行われると、メッセージの長さがゼロであっても、少なくとも 1 つの WebSocket バイナリメッセージが送信されます。
        戻り値:
        メッセージが書き込まれる出力ストリーム。
        例外:
        IOExceptionSE - バイナリメッセージを書き込むための OutputStream の取得に問題がある場合。
      • getSendWriter

        WriterSE getSendWriter()
                      throws IOExceptionSE
        テキストメッセージを送信できる文字ストリームを開きます。完全なメッセージが文字ストリームに配置されたことを示すために、開発者はライターを閉じる必要があります。ライターが閉じられる前に write() または append() メソッドのいずれかが呼び出されなかった場合、WebSocket テキストメッセージは送信されません。ライターが閉じられる前に、write() または append() メソッドのいずれかに対して少なくとも 1 回の呼び出しが行われると、メッセージの長さがゼロであっても、少なくとも 1 つの WebSocket テキストメッセージが送信されます。
        戻り値:
        メッセージが書き込まれるライター。
        例外:
        IOExceptionSE - テキストメッセージを書き込むためのライターの取得に問題がある場合。
      • sendObject

        void sendObject​(ObjectSE data)
                 throws IOExceptionSE,
                        EncodeException
        カスタム開発者オブジェクトを送信し、送信されるまでブロックします。コンテナーは、デフォルトで java プリミティブ型とそれに相当するオブジェクトをエンコードできます。そうでない場合、開発者はエンドポイント設定でオブジェクト型のエンコーダーを提供する必要があります。Java プリミティブ型とそれに相当するオブジェクトに対して開発者が提供するエンコーダーは、コンテナーのデフォルトエンコーダーをオーバーライドします。
        パラメーター:
        data - 送信するオブジェクト。
        例外:
        IOExceptionSE - メッセージオブジェクトの送信中に通信エラーが発生した場合。
        EncodeException - メッセージオブジェクトをネイティブ WebSocket メッセージの形式にエンコードする際に問題が発生した場合。
        IllegalArgumentExceptionSE - データパラメーターが null の場合