얼음꽃의 일지

WebSocket 과 Socket.io 본문

항해 일지

WebSocket 과 Socket.io

얼음꽃 2022. 12. 6. 11:00
728x90

WebSocket 과 Socket.io는 사용하는 방향성에 따라 차이가 있으나,  이게 무조건 좋아 , 저게 무조건 나빠라는 부분은 없습니다. 그러나 Socket.io가 WebSocket보다는 평안한 부분이 있는건 사실입니다.

 

Websocket

- 엄청나게 가벼워서 단순한 사용에 적합

- 누구인지에 따라 절대적인 통제권을 가짐

- 로깅, 구독, 방, 네임스페이스, 자동복구 등 기술들이 없으므로 모두 직접 구현

- 디자인을 먼저 디버깅해야 하는데 시간이 오래 걸림

- http처럼 한번 요구하고 한번 받고 끝인 형태가 아닌 실시간으로 상태저장하면서 사용

- 서버 계층이 각각의 개별 websocket 연결을 추적하고 상태 정보를 유지 및 관리를 해야하기 때문에 대규모 처리가 까다로움

- 일부 브라우저는 websocket 지원 x

 

https://ko.wikipedia.org/wiki/%EC%9B%B9%EC%86%8C%EC%BC%93

 

웹소켓 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹

ko.wikipedia.org

Socket.io

- 채팅앱과 같은 더 복잡한 곳에 적합

- 네임스페이스를 통한 다중화를 지원, 네임스페이스를 사용하면 사용되는 TCP 연결 수를 최소화하고 서버에 소켓 포트를 저장할 수 있음

- 서버 측에서 연결된 모든 클라이언트에 이벤트를 유연하게 브로드캐스트할 수 있고, 회의실 기능을 통해 클라이언트 하위 집합에 이벤트를 브로드캐스트할 수도 있음

- WebSocket을 지원하지 않는 환경에서 유용한 대체 옵션으로 HTTP 긴 폴링 을 제공

- 구성 가능한 Ping/Pong 하트비트 메커니즘을 제공하여 연결이 활성 상태인지 여부를 감지하고, 또한 클라이언트 연결이 끊어지면 자동으로 다시 연결

 

https://socket.io/

 

Socket.IO

Reliable Rest assured! In case the WebSocket connection is not possible, it will fall back to HTTP long-polling. And if the connection is lost, the client will automatically try to reconnect.

socket.io

 

공부하면서 많이 도움된 블로그 입니다.

 

https://inpa.tistory.com/category/Node.js/Socket.IO

 

'Node.js/Socket.IO' 카테고리의 글 목록

성장 욕구가 가파른 초보 개발자로서 공부한 내용을 쉽게 풀어쓴 기술 블로그를 운영하고 있습니다.

inpa.tistory.com

 

728x90

'항해 일지' 카테고리의 다른 글

소셜 로그인(카톡, 구글, 네이버)  (0) 2022.12.10
방탄 Helmet  (0) 2022.12.07
PM2  (0) 2022.12.05
계층형 아키텍처 패턴  (0) 2022.12.01
[DB] 트랜잭션의 ACID  (0) 2022.11.29