- 
 public interface WebSocketWebSocketクライアント。
 インキュベーション機能。将来のリリースで削除されます。WebSocketを作成するには、HttpClient.newWebSocketBuilder()メソッドを使用します。WebSocketを閉じるには、sendCloseまたはabortのいずれかのメソッドを使用します。WebSocketメッセージは、 WebSocketを介して送信され、WebSocketListenerを介して受信されます。 メッセージは、出力が閉じられるまで送信され、入力が閉じられるまで受信されます。 出力と入力の両方が閉じているWebSocketは、それ自体が閉じられていると考えられます。 これらの状態をチェックするには、isOutputClosed()とisInputClosed()を使用します。メッセージを送信するメソッドは、メッセージが送信されると正常に完了する CompletableFutureを返します。エラーが発生した場合は例外的に完了します。メッセージを受信するには、まずそれをリクエストします。 nメッセージがリクエストされた場合、リスナーはWebSocketから指定されたメソッドのより多くの呼び出しをnまで受信します。 メッセージをリクエストするには、request(long)を使用します。 リクエストは加算演算です。つまり、request(n)に続くrequest(m)はrequest(n + m)に相当します。部分的にメッセージを送信または受信する場合、メッセージ全体は、最後の呼び出しが追加のメソッド引数を介して識別される一連の1つ以上の呼び出しとして転送されます。 特に指定がない限り、 nullの引数はWebSocketのメソッドでNullPointerExceptionをスローします。同様に、WebSocketはnullの引数をListenerのメソッドに渡しません。- 実装要件:
- WebSocketのメソッドは、- NullPointerException、- IllegalArgumentException、および- IllegalStateExceptionに関して、失敗-アトミックです。 つまり、メソッドが例外をスローするか、返された- CompletableFutureが例外を指定して例外的に完了すると、- WebSocketはメソッドがまったく呼び出されていないかのように動作します。- WebSocketは、リスナーのメソッドをスレッド・セーフな方法で呼び出します。- WebSocketは、それぞれPongメッセージとCloseメッセージで応答することによって、PingとCloseメッセージを自動的に処理します。 リスナーがPingまたはCloseメッセージを受信した場合、リスナーからの必須アクションは必要ありません。
- 導入されたバージョン:
- 9
 
- 
- 
ネストされたクラスのサマリーネストされたクラス 修飾子と型 インタフェース 説明 static interfaceWebSocket.BuilderWebSocketインスタンスを作成するためのビルダー。static interfaceWebSocket.ListenerWebSocketの受信インタフェース。static classWebSocket.MessagePart部分メッセージを識別するためにWebSocket.Listenerによって使用されるマーカー。
 - 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intNORMAL_CLOSUREWebSocket Closeメッセージのステータス・コード(1000)は、正常終了を示します。これは、接続が確立された目的が達成されたことを意味します。
 - 
メソッドのサマリーすべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 voidabort()このWebSocketを突然閉じます。StringgetSubprotocol()このWebSocketのサブ・プロトコルを返します。booleanisInputClosed()このWebSocketがメッセージを受信するために完全に閉じられているかどうかを伝えます。booleanisOutputClosed()このWebSocketがメッセージを送信するために完全に閉じられているかどうかを伝えます。voidrequest(long n)このWebSocketからより多くのメッセージをnにリクエストします。CompletableFuture<WebSocket>sendBinary(ByteBuffer message, boolean isLast)指定されたByteBufferからバイナリ・メッセージをバイト数で送信します。CompletableFuture<WebSocket>sendClose(int statusCode, String reason)指定されたステータス・コードと理由でCloseメッセージを送信し、正常終了を開始します。CompletableFuture<WebSocket>sendPing(ByteBuffer message)指定されたByteBufferからバイト数のPingメッセージを送信します。CompletableFuture<WebSocket>sendPong(ByteBuffer message)指定されたByteBufferのバイトを含むPongメッセージを送信します。CompletableFuture<WebSocket>sendText(CharSequence message, boolean isLast)指定されたCharSequenceの文字を含むテキスト・メッセージを送信します。
 
- 
- 
- 
メソッドの詳細- 
sendTextCompletableFuture<WebSocket> sendText(CharSequence message, boolean isLast) 指定されたCharSequenceの文字を含むテキスト・メッセージを送信します。テキスト・メッセージを送信するには、前のテキストまたはバイナリ・メッセージが送信された後にのみ、このメソッドを呼び出します。 このメソッドから返された CompletableFutureが完了するまで、文字シーケンスを変更しないでください。このメソッドから返された CompletableFutureは、次のように例外的に完了できます:-  IllegalArgumentException-messageが不正な形式のUTF-16シーケンスの場合
-  IllegalStateException-sendCloseが呼び出された場合、または前のメッセージがまだ送信されていない場合、または以前のバイナリ・メッセージがisLast == falseで送信された場合
-  IOException- I/Oエラーが発生した場合
 - 実装上の注意:
- 部分的なUTF-16シーケンスがこのメソッドに渡された場合、返されるCompletableFutureは例外的にIOExceptionで完了します。
- パラメータ:
- message- メッセージ
- isLast-- trueメッセージの最後の部分であれば- false、そうでなければ- false
- 戻り値:
- このWebSocketで、メッセージが送信されたときに完了するCompletableFuture
 
-  
 - 
sendBinaryCompletableFuture<WebSocket> sendBinary(ByteBuffer message, boolean isLast) 指定されたByteBufferからバイナリ・メッセージをバイト数で送信します。バイナリ・メッセージを送信するには、前のテキストまたはバイナリ・メッセージが送信された後にのみ、このメソッドを呼び出します。 メッセージは、バッファ位置からその限界までのバイトで構成されます。 このメソッドから返された CompletableFutureが正常に終了すると、バッファには残りのバイトがありません。 それ以降はバッファにアクセスしてはなりません。このメソッドから返された CompletableFutureは、次のように例外的に完了できます:-  IllegalStateException-sendCloseが呼び出された場合、または前のメッセージがまだ送信されていない場合、またはisLast == falseで前のテキスト・メッセージが送信された場合
-  IOException- I/Oエラーが発生した場合
 - パラメータ:
- message- メッセージ
- isLast-- trueメッセージの最後の部分であれば- false、そうでなければ- false
- 戻り値:
- このWebSocketで、メッセージが送信されたときに完了するCompletableFuture
 
-  
 - 
sendPingCompletableFuture<WebSocket> sendPing(ByteBuffer message) 指定されたByteBufferからバイト数のPingメッセージを送信します。メッセージは、バッファ位置からその限界までの 125バイト以下で構成されます。 このメソッドから返されたCompletableFutureが正常に終了すると、バッファには残りのバイトがありません。 それ以降はバッファにアクセスしてはなりません。このメソッドから返された CompletableFutureは、次のように例外的に完了できます:-  IllegalArgumentException- メッセージが長すぎる場合
-  IllegalStateException-sendCloseが呼び出された場合
-  IOException- I/Oエラーが発生した場合
 - パラメータ:
- message- メッセージ
- 戻り値:
- Pingメッセージが送信されたときに、このWebSocketで完了するCompletableFuture
 
-  
 - 
sendPongCompletableFuture<WebSocket> sendPong(ByteBuffer message) 指定されたByteBufferのバイトを含むPongメッセージを送信します。メッセージは、バッファ位置からその限界までの 125バイト以下で構成されます。 このメソッドから返されたCompletableFutureが正常に終了すると、バッファには残りのバイトがありません。 それ以降はバッファにアクセスしてはなりません。このメソッドから返された CompletableFutureは、次のように例外的に完了できます:-  IllegalArgumentException- メッセージが長すぎる場合
-  IllegalStateException-sendCloseが呼び出された場合
-  IOException- I/Oエラーが発生した場合
 - パラメータ:
- message- メッセージ
- 戻り値:
- Pongメッセージが送信されたときに、このWebSocketで完了するCompletableFuture
 
-  
 - 
sendCloseCompletableFuture<WebSocket> sendClose(int statusCode, String reason) 指定されたステータス・コードと理由でCloseメッセージを送信し、正常終了を開始します。このメソッドが返すとき、出力は閉じられています。 statusCodeは、範囲1000 <= code <= 4999の整数です。 ステータス・コード1002、1003、1006、1007、1009、1010、1012、1013および1015は不正です。 他のステータス・コードに関する動作は実装固有です。reasonは、123バイト以下のUTF-8表現を持つ文字列です。一般的なケースでは、ステータス・コードとして整数定数 NORMAL_CLOSUREを使用し、理由として空の文字列を使用します。このメソッドから返された CompletableFutureは、次のように例外的に完了できます:-  IllegalArgumentException-statusCodeまたはreasonが不正な場合
-  IOException- I/Oエラーが発生した場合
 - 実装要件:
- Closeメッセージを送信しているエンドポイントは、さまざまな理由により、補完的なCloseメッセージを適時に受信しないことがあります。 WebSocket実装は、sendCloseメソッドが呼び出されると、Closeフレームが受信されたかどうかにかかわらず、このAPIのユーザーからの介入なしにWebSocketが終了することを保証するクロージャ・メカニズムを提供する責任があります。 メソッドsendCloseは、おそらく、このAPIのユーザーからの最後の呼び出しであるように設計されています。
- パラメータ:
- statusCode- ステータス・コード
- reason- 理由
- 戻り値:
- Closeメッセージが送信されたときに、このWebSocketで完了するCompletableFuture
 
-  
 - 
requestvoid request(long n) このWebSocketからより多くのメッセージをnにリクエストします。この WebSocketは、リスナーonText、onBinary、onPing、onPongまたはonCloseメソッドをnまでさらに呼び出します。このメソッドはいつでも呼び出すことができます。 - パラメータ:
- n- リクエストされたメッセージの数
- 例外:
- IllegalArgumentException-- n <= 0の場合
 
 - 
getSubprotocolString getSubprotocol() このWebSocketのサブ・プロトコルを返します。このメソッドはいつでも呼び出すことができます。 - 戻り値:
- このWebSocketのサブ・プロトコル、またはサブ・プロトコルがない場合は空のString
 
 - 
isOutputClosedboolean isOutputClosed() このWebSocketがメッセージを送信するために完全に閉じられているかどうかを伝えます。このメソッドが trueを返した場合、後続の呼び出しでもtrueが返されます。 このメソッドはいつでも呼び出すことができます。- 戻り値:
- 閉じている場合はtrue、そうでない場合はfalse
 
 - 
isInputClosedboolean isInputClosed() このWebSocketがメッセージを受信するために完全に閉じられているかどうかを伝えます。このメソッドが trueを返した場合、後続の呼び出しでもtrueが返されます。 このメソッドはいつでも呼び出すことができます。- 戻り値:
- 閉じている場合はtrue、そうでない場合はfalse
 
 - 
abortvoid abort() このWebSocketを突然閉じます。このメソッドが返ると、入力と出力の両方が閉じられます。 このメソッドはいつでも呼び出すことができます。 後続の呼び出しは効果がありません。 - APIの注:
- その実装、状態(例えば、メッセージがその時点で転送されているかどうか)、および関連するリソースの解放中に起こりうるエラーに応じて、このWebSocketはリスナーonErrorを呼び出すことがあります。
 
 
- 
 
-