@Component
public class ScsWebSocketHandler extends TextWebSocketHandler {
private List sessionList = new ArrayList();
// 클라이언트가 연결 되었을 때 실행
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
sessionList.add(session);
}
// 클라이언트가 웹소켓 서버로 메시지를 전송했을 때 실행
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
String payload = message.getPayload();
System.out.println("payload : " + payload);
// 모든 클라이언트에게 메시지 전송
for (WebSocketSession sess : sessionList) {
sess.sendMessage(new TextMessage(payload));
}
}
// 클라이언트 연결을 끊었을 때 실행
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
sessionList.remove(session);
}
}