728x90
반응형
질문 : Node.js와 함께 사용할 Websocket 라이브러리는 무엇입니까?
현재 node.js 용 websocket 라이브러리 가 많이 있으며 가장 인기있는 것은 다음과 같습니다.
- https://github.com/Worlize/WebSocket-Node
- https://github.com/einaros/ws
- https://github.com/LearnBoost/engine.io
- https://github.com/learnboost/socket.io
- https://github.com/sockjs
그러나 나는 그들 중 어떤 것 사이의 확실한 구체적인 비교를 찾을 수 없습니다 ... 분명히 Socket.io는 굉장했지만 꽤 오래되었고 실패한 빌드가 있습니다. ws와 websocket-node 모두 가장 빠르다고 주장합니다. 그리고 engine.io는 새 것처럼 보이지만 가벼운 aletarntives보다 훨씬 무겁습니다.
우리 나 누군가가 어떤 소켓 라이브러리를 언제 사용할 지에 대한 가이드 역할을하는 답변을 모을 수 있다면 놀라 울 것입니다.
답변
이 커뮤니티 위키 답변으로 공을 구르십시오. 개선 사항으로 저 를 편집하십시오.
- WS WebSocket 서버 및 클라이언트 for node.js. 가장 빠른 라이브러리는 아니지만 가장 빠른 라이브러리 중 하나입니다.
- websocket-node WebSocket 서버 및 node.js 용 클라이언트
- websocket-driver-node WebSocket 서버 및 클라이언트 프로토콜 파서 node.js-faye-websocket-node에서 사용
- faye-websocket-node WebSocket 서버 및 node.js 용 클라이언트-faye 및 sockjs에서 사용
- socket.io WebSocket 서버 및 node.js 용 클라이언트 + 브라우저 용 클라이언트 + (v0은 최신에서 가장 오래된 폴백, Socket.io의 v1은 engine.io를 사용) + 채널-stack.io에서 사용됩니다. 클라이언트 라이브러리는 연결 해제시 다시 연결을 시도합니다.
- sockjs WebSocket 서버 및 클라이언트 for node.js 및 기타 + 브라우저 용 클라이언트 + 최신에서 가장 오래된 폴백
- faye WebSocket 서버 및 node.js 용 클라이언트 및 기타 클라이언트 + 브라우저 용 클라이언트 + 폴백 + 기타 서버 측 언어 지원
- WebSocket 및 TCP 연결을 처리하고 데이터 동기화, 게시 / 구독 및 요청 / 응답을 제공하는 deepstream.io 클러스터 가능 실시간 서버
- socketcluster 컴퓨터의 모든 CPU 코어를 사용하는 WebSocket 서버 클러스터. 예를 들어 코어가 32 개인 초대형 Amazon EC2 인스턴스를 사용한다면 단일 인스턴스에서 거의 32 배의 트래픽을 처리 할 수 있습니다.
- primus 쉬운 전환 + 안정성 향상을 위해 위의 대부분의 라이브러리에 공통 API를 제공합니다.
사용시기 :
- 클라이언트 측에서 기본 WebSocket 구현을 사용하려는 경우 기본 WebSocket 서버를 사용하고 브라우저 비 호환성에주의하십시오.
- 브라우저 폴백에 관심이있을 때 폴백 라이브러리 사용
- 채널에 관심이있을 때 모든 기능을 갖춘 라이브러리 사용
- 무엇을 사용해야할지 모를 때 primus를 사용하고, 프로젝트 요구 사항이 변경되거나 추가 연결 안정성이 필요하여 프레임 워크를 전환해야 할 때 애플리케이션을 다시 작성할 기분이 아닙니다.
테스트 할 위치 :
Firecamp 는 SocketIO, WS 및 모든 주요 실시간 기술을위한 GUI 테스트 환경입니다. 개발하는 동안 실시간 이벤트를 디버그하십시오.
출처 : https://stackoverflow.com/questions/16392260/which-websocket-library-to-use-with-node-js
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
Vim에 설치된 모든 색 구성표 목록을 얻는 방법 (0) | 2021.11.05 |
---|---|
Django에서 "slug"의 역할 (0) | 2021.11.05 |
1MB RAM으로 1백만 개의 8 진수 숫자 정렬 (0) | 2021.11.04 |
VirtualBox 가상 머신에서 localhost 주소 지정 (0) | 2021.11.04 |
[Node.js] Express.js 가 무엇일까? (0) | 2021.11.03 |