public interface Session extends CloseableSE
セッションが閉じられると、アプリケーションによる使用は無効になります。セッションが閉じられた後、そのメソッドのいずれか(close() メソッドを除く)を呼び出すと、IllegalStateException
SE がスローされます。開発者は、Endpoint.onClose(javax.websocket.Session, javax.websocket.CloseReason)
メソッドの実行中にセッションから情報を取得する必要があります。セッションが閉じられた後にセッション close() メソッドを呼び出す Closeable
SE の規則に従うことは効果がありません。
セッションオブジェクトは、複数のスレッドによって呼び出される場合があります。このような状況では、実装はセッションの可変プロパティの整合性を確保する必要があります。
修飾子と型 | メソッドと説明 |
---|---|
<T> void | addMessageHandler(ClassSE<T> clazz, MessageHandler.Partial<T> handler) この会話の受信メッセージを処理するために登録します。 |
<T> void | addMessageHandler(ClassSE<T> clazz, MessageHandler.Whole<T> handler) この会話の受信メッセージを処理するために登録します。 |
void | addMessageHandler(MessageHandler handler) この会話の受信メッセージを処理するために登録します。 |
void | close() 現在の会話を通常のステータスコードで閉じ、理由句は付けません。 |
void | close(CloseReason closeReason) 現在の会話を閉じて、閉鎖の理由を示します。 |
RemoteEndpoint.Async | getAsyncRemote() 非同期にメッセージをピアに送信できるこの会話のピアを表す RemoteEndpoint オブジェクトの参照を返します。 |
RemoteEndpoint.Basic | getBasicRemote() メッセージをピアに同期的に送信できるこの会話のピアを表す RemoteEndpoint オブジェクトへの参照を返します。 |
WebSocketContainer | getContainer() このセッションが属するコンテナーを返します。 |
StringSE | getId() このセッションに割り当てられた一意の識別子を含む文字列を返します。 |
int | getMaxBinaryMessageBufferSize() このセッションがバッファリングできる受信バイナリメッセージの最大長。 |
long | getMaxIdleTimeout() コンテナーが非アクティブである場合、つまり、この会話がコンテナーによって閉じられるまでのミリ秒数を返します。 |
int | getMaxTextMessageBufferSize() このセッションがバッファリングできる受信テキストメッセージの最大長。 |
SetSE<MessageHandler> | getMessageHandlers() このセッションの MessageHandlers のセットの変更不可能なコピーを返します。 |
ListSE<Extension> | getNegotiatedExtensions() この会話に現在使用されている拡張機能のリストを返します。 |
StringSE | getNegotiatedSubprotocol() この会話の websocket ハンドシェイク中に合意したサブプロトコルを返します。 |
SetSE<Session> | getOpenSessions() このセッションが接続を表す同じエンドポイントへの接続を表す、開いているすべての Web ソケットセッションのセットのコピーを返します。 |
MapSE<StringSE, StringSE> | getPathParameters() このセッションが開かれたリクエストに関連して使用されるパスパラメーター名と値のマップを返します。 |
StringSE | getProtocolVersion() 現在使用されている websocket プロトコルのバージョンを返します。 |
StringSE | getQueryString() このセッションが開かれたリクエストに関連付けられたクエリ文字列を返します。 |
MapSE<StringSE, ListSE<StringSE>> | getRequestParameterMap() このセッションが開かれたリクエストに関連付けられたリクエストパラメーターを返します。 |
URISE | getRequestURI() クエリ文字列がある場合は、その文字列を含めて、このセッションが開かれた URI を返します。 |
PrincipalSE | getUserPrincipal() このセッションで認証されたユーザーを返すか、このセッションで認証されたユーザーがいない場合は null を返します。 |
MapSE<StringSE, ObjectSE> | getUserProperties() セッションが開いている間、このメソッドは、このセッションインスタンスに関連するアプリケーション固有の情報を保存するために開発者が使用できるマップを返します。 |
boolean | isOpen() 基になるソケットが開いている場合にのみ true を返します。 |
boolean | isSecure() 基になるソケットが安全なトランスポートを使用している場合にのみ true を返します。 |
void | removeMessageHandler(MessageHandler handler) このセッションに属するセットから指定された MessageHandler を削除します。 |
void | setMaxBinaryMessageBufferSize(int length) このセッションがバッファリングできる受信バイナリメッセージの最大長を設定します。 |
void | setMaxIdleTimeout(long milliseconds) このセッションが非アクティブな場合、つまりメッセージが送信または受信されない場合に、このセッションが閉じられるまでのゼロ以外のミリ秒数を設定します。 |
void | setMaxTextMessageBufferSize(int length) このセッションがバッファリングできる受信テキストメッセージの最大長を設定します。 |
WebSocketContainer getContainer()
void addMessageHandler(MessageHandler handler) throws IllegalStateExceptionSE
MessageHandler.Whole
および MessageHandler.Partial
を参照してください。いずれかの型を複数追加すると、ランタイム例外が発生します。MessageHandler.Whole
または MessageHandler.Partial
から直接派生した匿名クラスを提供しない限り、このメソッドを使用しても安全ではありません。その他すべての場合(ラムダ式、より複雑な継承、ジェネリクス型の配置)では、addMessageHandler(Class, javax.websocket.MessageHandler.Whole)
または addMessageHandler(Class, javax.websocket.MessageHandler.Partial)
のいずれかの方法を使用する必要があります。
handler
- 追加する MessageHandlerIllegalStateExceptionSE
- このハンドラーと同じネイティブ websocket メッセージ型に登録されている MessageHandler がすでにある場合。<T> void addMessageHandler(ClassSE<T> clazz, MessageHandler.Whole<T> handler)
MessageHandler.Whole
および MessageHandler.Partial
を参照してください。いずれかの型を複数追加すると、ランタイム例外が発生します。T
- 指定されたハンドラーが対象とするメッセージの型。clazz
- 登録するメッセージハンドラーによって処理されるメッセージの型。handler
- 追加するメッセージハンドラー全体。IllegalStateExceptionSE
- このハンドラーと同じネイティブ websocket メッセージ型に登録されている MessageHandler がすでにある場合。<T> void addMessageHandler(ClassSE<T> clazz, MessageHandler.Partial<T> handler)
MessageHandler.Whole
および MessageHandler.Partial
を参照してください。いずれかの型を複数追加すると、ランタイム例外が発生します。T
- 指定されたハンドラーが対象とするメッセージの型。clazz
- 登録するメッセージハンドラーによって処理されるメッセージの型。handler
- 追加する部分的なメッセージハンドラー。IllegalStateExceptionSE
- このハンドラーと同じネイティブ websocket メッセージ型に登録されている MessageHandler がすでにある場合。SetSE<MessageHandler> getMessageHandlers()
void removeMessageHandler(MessageHandler handler)
handler
- 削除するハンドラー。StringSE getProtocolVersion()
StringSE getNegotiatedSubprotocol()
ListSE<Extension> getNegotiatedExtensions()
boolean isSecure()
boolean isOpen()
long getMaxIdleTimeout()
void setMaxIdleTimeout(long milliseconds)
milliseconds
- ミリ秒数。void setMaxBinaryMessageBufferSize(int length)
length
- 最大長。int getMaxBinaryMessageBufferSize()
CloseReason.CloseCodes.TOO_BIG
のクローズコードでセッションを閉じる必要があります。void setMaxTextMessageBufferSize(int length)
length
- 最大長。int getMaxTextMessageBufferSize()
CloseReason.CloseCodes.TOO_BIG
の終了コードでセッションを閉じる必要があります。RemoteEndpoint.Async getAsyncRemote()
RemoteEndpoint.Basic getBasicRemote()
StringSE getId()
void close() throws IOExceptionSE
AutoCloseableSE
の closeSE
CloseableSE
の closeSE
IOExceptionSE
- 接続を閉じるときに接続エラーが発生した場合。void close(CloseReason closeReason) throws IOExceptionSE
CloseReason.CloseCodes.NO_STATUS_CODE
を使用することをお勧めします。closeReason
- 閉鎖の理由。IOExceptionSE
- 接続を閉じるときに接続エラーが発生した場合 URISE getRequestURI()
MapSE<StringSE,ListSE<StringSE>> getRequestParameterMap()
StringSE getQueryString()
MapSE<StringSE,StringSE> getPathParameters()
MapSE<StringSE,ObjectSE> getUserProperties()
PrincipalSE getUserPrincipal()
null
を返します。SetSE<Session> getOpenSessions()
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.