티스토리 뷰
반응형

최근 실무에서 서비스에 적용되어 있는 socket 기능에 문제가 있어 해당 로직을 분석하는 업무를 부여받았다. 새로운 기능에 대해 접근해야하기 때문에 많은 고난이 예상되기때문에 기본부터 정리해본다.
WebSocket 이란?
- HTML5 표준의 일부로, 웹 브라우저와 웹 서버 간의 실시간 양방향 통신을 위한 프로토콜
- TCP를 기반으로 하며, HTTP를 통해 연결을 초기화한 후에는 양쪽 모두에게 계속 연결 상태를 유지
socket.io 란?
- Node.js를 위한 실시간 웹 소켓 라이브러리로, WebSocket을 기반으로 하지만, WebSocket만을 사용하는 것이 아니라, 폴링(Polling), 롱 폴링(Long Polling) 등의 다양한 전송 방식을 지원
- 이벤트 기반 통신을 지원하여 클라이언트와 서버 간에 이벤트를 주고 받을 수 있음
socket.io-client 란?
- 클라이언트 측에서 사용되는 socket.io의 JavaScript 라이브러리
- 서버로부터 데이터를 수신하고 서버로 데이터를 전송하는 등의 작업을 수행
- 웹 애플리케이션에서 서버와의 실시간 통신을 구현하는 데 사용
socket.io-client 의 특징
- 실시간 양방향 통신: 실시간 양방향 통신을 가능하게 해주는 WebSocket 프로토콜을 기반으로 하기 때문에 서버와 클라이언트 간에 데이터를 실시간으로 주고받을 수 있다.
- 다양한 전송 방식 지원: WebSocket을 비롯하여 폴링(Polling) 등 다양한 전송 방식을 지원하기 때문에 네트워크 환경에 따라 최적의 통신 방식을 선택할 수 있다.
- 이벤트 기반 통신: 이벤트 기반으로 동작하여 클라이언트와 서버는 서로 이벤트를 발생시키고 수신하여 통신하기 때문에 간편하게 사용자 지정 이벤트를 정의하고 처리할 수 있다.
- 실시간 채팅 및 알림: 실시간 채팅, 알림, 게임 등 다양한 애플리케이션에서 사용할 수 있다. 사용자가 웹 페이지를 새로고침하지 않아도 서버로부터 데이터를 실시간으로 받아올 수 있다.
- 클라이언트-서버 간의 연결 유지: 클라이언트와 서버 간의 연결을 유지하고 상태를 관리하여 클라이언트와 서버 간의 신속한 통신이 가능하다.
- 크로스 플랫폼 지원: 웹 브라우저를 비롯한 다양한 플랫폼에서 동작하기 때문에 웹, 모바일, 데스크톱 등 다양한 환경에서 사용할 수 있다.
반응형
'Etc.' 카테고리의 다른 글
Visual Studio Code 정규식 검색 (0) | 2025.01.02 |
---|---|
Git Alias 설정 (0) | 2025.01.01 |
Title과 Description (1) | 2024.12.13 |
git이 고장났을때 (1) | 2024.12.11 |
잘 안알려진 Visual Studio Code 단축키 (0) | 2024.12.10 |
- Total
- Today
- Yesterday
반응형