1. Socket.IO
Socket.IO 는 클라이언트와 서버 간의 low-latency, bidirectional, and event-based 통신을 가능하게 하는 JavaScript 라이브러리이다. WebSocket 을 기반으로 동작하며 WebSocket의 한계를 보완하고, 더 안정적인 실시간 통신 기능을 제공한다.
2. 기본 개념
- Socket : 소켓은 클라이언트와 서버간의 연결을 나타낸다. 소켓을 사용하여 실시간으로 데이터를 주고 받는다.
- Server : 서버는 클라이언트와의 소켓 연결을 설정하고 관리한다. 클라이언트로 이벤트를 송신하거나 클라이언트로부터 이벤트를 수신할 수 있다.
- Client : 클라이언트는 서버와의 소켓 연결을 설정하고 관리한다. 클라이언트는 서버와 양방향으로 이벤트를 송신하거나 수신한다.
3. 트래픽 관리 구조
- Event : 이벤트는 소켓 연결을 통해 클라이언트와 서버 간 전송 된 메시지이다. 이벤트 이름은 서버와 클라이언트에서 동일하게 선언해야 한다.
- Namespace : 네임스페이스는 클라이언트와 서버 간 별도의 통신 채널이다. 단일 서버에서 여러 네임스페이스를 작성할 수 있으며 클라이언트는 특정 네임스페이스에 연결하여 해당 네임스페이스의 클라이언트에게만 이벤트를 송신하거나 수신할 수 있다.
- Room : 룸은 함께 결합 된 소켓 그룹이다. 소켓은 여러 룸에 합류하거나 떠날 수 있다. 룸은 연결된 모든 클라이언트에게 송신하는 데 유용하며, 클라이언트를 그룹화하여 효율적으로 관리할 수 있다.
'개인공부' 카테고리의 다른 글
RKE2 Worker Node 설치(2) (0) | 2024.12.10 |
---|---|
VMware Fusion, RKE2 Master Node 설치 (1) (3) | 2024.12.09 |
Chat Gpt 가 내준 컨테이너 관련 문제 10개 (2) | 2024.10.13 |
Kafka 란 무엇인가 ? (0) | 2024.10.02 |
도커의 이해 (0) | 2024.09.29 |