wongakim-99 / websocket-chatting

웹소켓을 활용한 채팅 연습
0 stars 0 forks source link

Websocket Handler 작성 #1

Closed wongakim-99 closed 1 month ago

wongakim-99 commented 1 month ago

socket 통신은 서버와 클라이언트가 1:N 으로 관계를 맺는다. 따라서 한 서버에 여러 클라이언트가 접속 할 수 있으며, 서버에는 여러 클라이언트가 발송한 메시지를 받아 처리해줄 Handler의 작성이 필요함

wongakim-99 commented 1 month ago

socket 통신은 서버와 클라이언트가 1:N으로 관계를 맺는다. 따라서 한 서버에 여러 클라이언트가 접속 할 수 있으며, 서버에는 여러 클라이언트가 발송한 메시지를 받아 처리해줄 Handler의 작성이 필요하다.

package com.websocket.chatting.handler;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;

@Slf4j
@Component
public class WebsockHandler extends TextWebSocketHandler {

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        String payload = message.getPayload();
        log.info("payload {}", payload);
        TextMessage textMessage = new TextMessage("Welcome chatting server!");
        session.sendMessage(textMessage);
    }
}

위와 같이 TextWebSocketHandler를 상속받아 Handler를 작성해 준다. Client 로부터 받은 메시지를 Console.log에 출력하고 Client로 환영 메시지를 보내는 역할을 한다.