[C-Bomb] Websocket 채팅 서버 구현 2

good_da22·2022년 4월 25일
0

C-Bomb

목록 보기
2/2

Spring Websocket 서버 구축

Spring boot gradle프로젝트 생성
기본 설정

id 'org.springframework.boot' version '2.6.4'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
...
sourceCompatibility = '11'

build.gradle 의존성 추가

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

Websocket Handler

socket 통신은 서버와 클라이언트가 1:N 관계를 가진다. 따라서 한 서버에 여러 클라이언트가 접속 가능하다.
서버에는 다수의 클라이언트가 발송한 메시지를 받아 처리할 Handler가 필요
TextWebsocketHandler 상속을 받아 Handler 작성
클라이언트에게 받은 메시지를 Console Log에 출력, 클라이언트로 환영 메시지 전송


// import 생략....

@Slf4j
@Component
public class WebSockChatHandler 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 sever~^^");
        session.sendMessage(textMessage);
    }
}

Websocket Config

Handler를 이용하여 websocket을 활성화하기 위한 Config 파일 작성
@EnablewebSocket 선언하여 websocket 활성화
Websocket에 접속하기 위한 endpoint 설정

/2022.04.25

profile
dev blog

0개의 댓글