パッケージ 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 メソッドは、
IllegalStateException
SE をスローする可能性があります。
ネストされたクラスのサマリー
インターフェース jakarta.websocket.RemoteEndpoint から継承されたネストクラス / インターフェース
RemoteEndpoint.Async, RemoteEndpoint.Basic
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 OutputStreamSE
getSendStream()
バイナリメッセージを送信できる出力ストリームを開きます。WriterSE
getSendWriter()
テキストメッセージを送信できる文字ストリームを開きます。void
sendBinary(ByteBufferSE data)
バイナリメッセージを送信し、すべてのメッセージが送信されたときに戻ります。void
sendBinary(ByteBufferSE partialByte, boolean isLast)
バイナリメッセージを部分的に送信し、すべてのメッセージが送信されるまでブロックします。void
sendObject(ObjectSE data)
カスタム開発者オブジェクトを送信し、送信されるまでブロックします。void
sendText(StringSE text)
テキストメッセージを送信し、すべてのメッセージが送信されるまでブロックします。void
sendText(StringSE partialMessage, boolean isLast)
テキストメッセージを部分的に送信し、すべてのメッセージが送信されるまでブロックします。インターフェース jakarta.websocket.RemoteEndpoint から継承されたメソッド
flushBatch, getBatchingAllowed, sendPing, sendPong, setBatchingAllowed
メソッドの詳細
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
の場合