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