공부방/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}")
}
}
}
}
}
반응형