インターフェース WebSocketSession
- すべてのスーパーインターフェース:
AutoCloseableSE, CloseableSE
- すべての既知のサブインターフェース:
NativeWebSocketSession, SockJsSession
- すべての既知の実装クラス:
AbstractClientSockJsSession, AbstractHttpSockJsSession, AbstractSockJsSession, AbstractWebSocketSession, ConcurrentWebSocketSessionDecorator, JettyWebSocketSession, PollingSockJsSession, StandardWebSocketSession, StreamingSockJsSession, WebSocketClientSockJsSession, WebSocketServerSockJsSession, WebSocketSessionDecorator, XhrClientSockJsSession
WebSocket セッションの抽象化。WebSocket 接続を介してメッセージを送信し、それを閉じることができます。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
方法の概要
修飾子と型メソッド説明voidclose()ステータス 1000 で WebSocket 接続を閉じます。voidclose(CloseStatus status) 指定されたクローズ状態で WebSocket 接続を閉じます。ネゴシエートされたサブプロトコルを返します。WebSocket セッションに関連付けられた属性を持つマップを返します。int受信バイナリメッセージの構成済みの最大サイズを取得します。ネゴシエートされた拡張機能を決定します。ハンドシェイクリクエストで使用されるヘッダーを返します(非null)。getId()一意のセッション識別子を返します。リクエストが受信されたアドレスを返します。認証されたユーザーの名前を含むPrincipalSE インスタンスを返します。リモートクライアントのアドレスを返します。int受信テキストメッセージの構成済みの最大サイズを取得します。getUri()WebSocket 接続を開くために使用される URI を返します。booleanisOpen()基になる接続が開いているかどうか。voidsendMessage(WebSocketMessage<?> message) WebSocket メッセージを送信する:TextMessageまたはBinaryMessageのいずれか。voidsetBinaryMessageSizeLimit(int messageSizeLimit) 受信バイナリメッセージの最大サイズを構成します。voidsetTextMessageSizeLimit(int messageSizeLimit) 受信テキストメッセージの最大サイズを構成します。
メソッドの詳細
getId
StringSE getId()一意のセッション識別子を返します。getUri
getHandshakeHeaders
HttpHeaders getHandshakeHeaders()ハンドシェイクリクエストで使用されるヘッダーを返します(非null)。getAttributes
WebSocket セッションに関連付けられた属性を持つマップを返します。サーバー側では、最初に
HandshakeInterceptorを介してマップにデータを入力できます。クライアント側では、WebSocketClientハンドシェイクメソッドを介してマップにデータを入力できます。- 戻り値:
- セッション属性を持つマップ (非
null)
getPrincipal
@Nullable PrincipalSE getPrincipal()認証されたユーザーの名前を含むPrincipalSE インスタンスを返します。ユーザーが認証されていない場合、メソッドは
nullを返します。getLocalAddress
@Nullable InetSocketAddressSE getLocalAddress()リクエストが受信されたアドレスを返します。注意 : localAddress には常にアクセスできるとは限らず、標準の WebSocket クライアント API の場合も同様です。その場合、
StandardWebSocketClientはnullを返します。getRemoteAddress
@Nullable InetSocketAddressSE getRemoteAddress()リモートクライアントのアドレスを返します。getAcceptedProtocol
setTextMessageSizeLimit
void setTextMessageSizeLimit(int messageSizeLimit) 受信テキストメッセージの最大サイズを構成します。getTextMessageSizeLimit
int getTextMessageSizeLimit()受信テキストメッセージの構成済みの最大サイズを取得します。setBinaryMessageSizeLimit
void setBinaryMessageSizeLimit(int messageSizeLimit) 受信バイナリメッセージの最大サイズを構成します。getBinaryMessageSizeLimit
int getBinaryMessageSizeLimit()受信バイナリメッセージの構成済みの最大サイズを取得します。getExtensions
ListSE<WebSocketExtension> getExtensions()ネゴシエートされた拡張機能を決定します。- 戻り値:
- 拡張機能のリスト、または拡張機能が指定されていないか正常にネゴシエートされていない場合は空のリスト
sendMessage
WebSocket メッセージを送信する:TextMessageまたはBinaryMessageのいずれか。注意 : 基盤となる標準の WebSocket セッション(JSR-356)では、同時送信は許可されていません。送信を同期する必要があります。これを確実にするための 1 つのオプションは、
WebSocketSessionをConcurrentWebSocketSessionDecoratorでラップすることです。- 例外:
IOExceptionSE- 関連事項:
isOpen
boolean isOpen()基になる接続が開いているかどうか。close
WebSocket 接続をステータス 1000 で閉じます。session.close(CloseStatus.NORMAL);
- 次で指定:
- インターフェース
AutoCloseableSEのclose - 次で指定:
- インターフェース
CloseableSEのclose - 例外:
IOExceptionSE
close
指定されたクローズ状態で WebSocket 接続を閉じます。