부트캠프

52일차 TIL

ohs020105 2025. 1. 15. 23:58

1. WebSocket 기본 개념

 

  • HTTP와 달리 양방향 통신이 가능한 프로토콜임을 배웠다

 

 

 

  • Socket.io 라이브러리를 사용하여 쉽게 구현할 수 있다는 것을 알게 되었다

 

 

2. 서버 설정

const io = new Server(httpServer, {
    cors: {
        origin: "*"  // CORS 설정으로 모든 도메인에서의 접근을 허용했다
    }
});
 

 

  • express 서버와 socket.io를 연동하는 방법을 학습했다

 

 

 

  • CORS 설정이 필요하다는 것을 알게 되었다

 

 

3. 이벤트 처리

io.on('connection', (socket) => {
    // 연결 이벤트
    socket.on('chat message', (msg) => {
        // 메시지 수신 이벤트
    });
    socket.on('disconnect', () => {
        // 연결 종료 이벤트
    });
});

- 소켓 연결, 메시지 수신, 연결 종료와 같은 주요 이벤트들을 처리하는 방법을 배웠다

 

  • 각 클라이언트마다 고유한 socket.id가 부여된다는 것을 알게 되었다

 

 

4. 메시지 브로드캐스팅

io.emit('chat message', {
    id: socket.id,
    message: msg
});

 

  • io.emit()을 사용하여 연결된 모든 클라이언트에게 메시지를 전송할 수 있다는 것을 학습했다

 

 

 

  • 메시지에 발신자의 ID를 포함시켜 누가 보냈는지 분할 수 있게 되었다

 

 

5. 정적 파일 제공

app.use(express.static('.'));

- express의 static 미들웨어를 사용하여 정적 파일을 제공하는 방법을 배웠다

 
 

이러한 WebSocket 학습을 통해 실시간 양방향 통신의 기본 개념과 구현 방법을 이해하게 되었다.

'부트캠프' 카테고리의 다른 글

KPT 회고록  (0) 2025.01.17
테스트 코드 정리  (0) 2025.01.16
51일차 TIL  (0) 2025.01.14
50일차 TIL  (0) 2025.01.13
WIL  (0) 2025.01.10