[스프링] 스프링 WebSocket의 메시지 처리

웹소켓 기술은 실시간 양방향 통신을 지원하여 클라이언트와 서버간의 효율적인 통신을 가능하게 합니다. 스프링 프레임워크는 스프링 WebSocket을 통해 웹소켓 프로토콜을 지원합니다.

이번에는 스프링 WebSocket에서 클라이언트가 서버로 메시지를 보내고, 서버에서 그 메시지를 처리하는 방법에 대해 살펴보겠습니다.

1. 클라이언트에서 메시지 보내기

웹브라우저 또는 다른 클라이언트가 서버로 메시지를 보내기 위해서는 WebSocket을 통해 연결을 만든 후에 메시지를 전송해야 합니다.

// 클라이언트에서 웹소켓을 통해 메시지를 보내는 코드
WebSocket.send("Hello, Server!");

2. 서버에서 메시지 처리하기

서버는 클라이언트로부터 메시지를 받으면 해당 메시지에 대한 처리를 해야 합니다. 스프링 프레임워크에서는 @MessageMapping 어노테이션을 사용하여 서버에서의 메시지 처리를 정의합니다.

@MessageMapping("/message")
public void handleMessage(String message) {
    // 받은 메시지에 대한 처리 로직
    System.out.println("Received message: " + message);
}

위의 코드는 /message 주소로 클라이언트로부터 메시지를 받을 때 처리할 로직을 정의한 것입니다.

3. 메시지 응답하기

서버에서 받은 메시지를 기반으로 응답을 보내는 것도 가능합니다. 응답을 보내기 위해서는 클라이언트로 메시지를 보내는 것과 마찬가지로 WebSocket을 이용하여 응답을 전송합니다.

// 서버에서 클라이언트로 메시지를 보내는 코드
WebSocket.send("Hello from Server!");

클라이언트측에서는 해당 응답을 받아서 필요한 동작을 수행할 수 있습니다.

스프링 WebSocket을 통해 클라이언트와 서버간의 메시지 처리를 위한 효율적인 통신이 가능하며, 웹 기반의 실시간 어플리케이션을 개발할 때 매우 유용하게 사용될 수 있습니다.

참고 자료