관리 메뉴

꿀맛코딩

Stomp user 소켓 연결 및 해제 감지 본문

공부방/Server

Stomp user 소켓 연결 및 해제 감지

soycrab 2023. 10. 20. 01:22

 

@Configuration
@EnableWebSocketMessageBroker
@PropertySource("classpath:application.properties")
class WebSocketConfig: WebSocketMessageBrokerConfigurer {

  override fun configureWebSocketTransport(registration: WebSocketTransportRegistration) {
        registration.addDecoratorFactory { handler ->
            object : WebSocketHandlerDecorator(handler) {
                @Throws(Exception::class)
                override fun afterConnectionEstablished(session: WebSocketSession) {
                    // We will store current user's session into WebsocketSessionHolder after connection is established
                    val username = session.id
                    print("afterConnectionEstablished session ${username}")
                    super.afterConnectionEstablished(session)
                }

                override fun afterConnectionClosed(session: WebSocketSession, closeStatus: CloseStatus) {
                    super.afterConnectionClosed(session, closeStatus)
                    val username = session.id
                    print("afterConnectionClosed session ${username}")
                }
            }
        }
    }
}
반응형
Comments