티스토리 뷰

Etc.

socket.io

skim88 2024. 12. 16. 09:00
반응형
socket and plug
socket and plug

최근 실무에서 서비스에 적용되어 있는 socket 기능에 문제가 있어 해당 로직을 분석하는 업무를 부여받았다. 새로운 기능에 대해 접근해야하기 때문에 많은 고난이 예상되기때문에 기본부터 정리해본다.


WebSocket 이란?

  • HTML5 표준의 일부로, 웹 브라우저와 웹 서버 간의 실시간 양방향 통신을 위한 프로토콜
  • TCP를 기반으로 하며, HTTP를 통해 연결을 초기화한 후에는 양쪽 모두에게 계속 연결 상태를 유지

socket.io 란?

  • Node.js를 위한 실시간 웹 소켓 라이브러리로, WebSocket을 기반으로 하지만, WebSocket만을 사용하는 것이 아니라, 폴링(Polling), 롱 폴링(Long Polling) 등의 다양한 전송 방식을 지원
  • 이벤트 기반 통신을 지원하여 클라이언트와 서버 간에 이벤트를 주고 받을 수 있음

socket.io-client 란?

  • 클라이언트 측에서 사용되는 socket.io의 JavaScript 라이브러리
  • 서버로부터 데이터를 수신하고 서버로 데이터를 전송하는 등의 작업을 수행
  • 웹 애플리케이션에서 서버와의 실시간 통신을 구현하는 데 사용

socket.io-client 의 특징

  1. 실시간 양방향 통신: 실시간 양방향 통신을 가능하게 해주는 WebSocket 프로토콜을 기반으로 하기 때문에 서버와 클라이언트 간에 데이터를 실시간으로 주고받을 수 있다.
  2. 다양한 전송 방식 지원: WebSocket을 비롯하여 폴링(Polling) 등 다양한 전송 방식을 지원하기 때문에 네트워크 환경에 따라 최적의 통신 방식을 선택할 수 있다.
  3. 이벤트 기반 통신: 이벤트 기반으로 동작하여 클라이언트와 서버는 서로 이벤트를 발생시키고 수신하여 통신하기 때문에 간편하게 사용자 지정 이벤트를 정의하고 처리할 수 있다.
  4. 실시간 채팅 및 알림: 실시간 채팅, 알림, 게임 등 다양한 애플리케이션에서 사용할 수 있다. 사용자가 웹 페이지를 새로고침하지 않아도 서버로부터 데이터를 실시간으로 받아올 수 있다.
  5. 클라이언트-서버 간의 연결 유지: 클라이언트와 서버 간의 연결을 유지하고 상태를 관리하여 클라이언트와 서버 간의 신속한 통신이 가능하다.
  6. 크로스 플랫폼 지원: 웹 브라우저를 비롯한 다양한 플랫폼에서 동작하기 때문에 웹, 모바일, 데스크톱 등 다양한 환경에서 사용할 수 있다.

 

 
반응형

'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
반응형