WebSocket 구현 비교
Comparison of WebSocket implementationsWebSocket 프로토콜은 서로 다른 웹 브라우저, 웹 서버, 런타임 환경 및 클라이언트 또는 서버 역할을 하는 라이브러리에서 구현된다.다음은 주목할 만한 WebSocket 구현의 서로 다른 특징에 대한 표입니다.
| 클라이언트(도서관) | 서버(도서관) | 비교 버전 | 프로토콜(사양) 버전 지원 | 프로토콜 테스트 보고서 | 면허증 | 구현: 언어, 환경 | API: 언어, 환경 | 자체 호스트 서버 | 문자 메시지 지원 | 이진 메시지 지원 | API 메시지 기반 | API 프레임 기반 | API 스트리밍 입력 출력 | 흐름 제어 프레임워크 | ping 자동 퐁 | 자동 하트비트 핑 | 수동 핑퐁 | 프레임 크기 제한 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 구글 크롬 15[1] | 네 | 아니요. | 15.0.874.8 2011년 9월 12일 | 8 (10) | 콤플렉스 | C++, WebKit | JavaScript, HTML5 | 아니요. | 네 | 네 | 네 | 아니요. | 아니아니 | 아니요. | 네 | 아니요. | 아니요. | ≥ 16MB (메모리 제한?) | |
| 구글 크롬 16[1] | 네 | 아니요. | 16.0.912 2011년 12월 13일 | 13 (17/RFC 645) | 콤플렉스 | C++, WebKit | JavaScript, HTML5 | 아니요. | 네 | 네 | 네 | 아니요. | 아니아니 | 아니요. | 네 | 아니요. | 아니요. | ≥ 16MB (메모리 제한?) | |
| 모질라 파이어폭스[2] 7 | 네 | 아니요. | 7 베타 2011년 9월 12일 | 8 (10) | MPL, GPL, LGPL | C++, 넥코 | JavaScript, HTML5 | 아니요. | 네 | 아니요. | 네 | 아니요. | 아니아니 | 아니요. | 네 | 아니요. | 아니요. | < 16MB | |
| 모질라 파이어폭스 11[2] | 네 | 아니요. | 11.0 2012년 3월 13일 | 13 (17/RFC 645) | MPL, GPL, LGPL | C++, 넥코 | JavaScript, HTML5 | 아니요. | 네 | 네 | 네 | 아니요. | 아니아니 | 아니요. | 네 | 아니요. | 아니요. | < 2 GB (메모리 제한?) | |
| 아섹스 WS[3] | 네 | 네 | 2.17 2014년 6월 17일 | RFC 6455 | 상업적 | C++ | C++, 자바스크립트 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 아니요. | 아니요. | 네 | 2^16 | |
| 카이저징 WebSocket 게이트웨이[4] | 네 | 네 | 5.0 2014년 12월 | RFC 6455 | APL2(Community Edition), 상업용(Enterprise Edition) | 자바, JMS | JavaScript, Flash/Flex, Silverlight, Objective-C & iOS, Java, Java & Android , .NET, 사마린 | 네 | 네 | 네 | 네 | 아니요. | 네 | 네 | 네 | 네 | 아니요. | 메모리 제한, 구성 가능 | |
| 라이트스트림러[5] | 네 | 네 | 7.2.2 2021년 12월 22일 | RFC 6455 | 커머셜, 프리웨어 | 자바 | JavaScript, Flash/Flex, Silverlight, iOS, macOS, tvOS, watchOS, Java, J2ME, Android, .NET 표준 | 네 | 네 | 아니요. | 네 | 아니요. | 아니요. | 네 | 네 | 네 | 아니요. | 데이터 기반, 구성 가능 | |
| 철새데이터[6] | 네 | 네 | 6.0.5 2021년 8월 29일 | RFC 6455 | 상업적 | 자바 | JavaScript, iOS, Android, Java, C++, .NET, PHP, Node.js, Python | 네 | 네 | 아니요. | 네 | 아니요. | 아니아니 | 네 | 네 | 네 | 아니요. | 263, 구성 가능 | |
| 노폴[7] | 네 | 네 | 0.3.2 2015년 8월 28일 | RFC 6455 | LGPL 2.1 | ANSI C | ANSI C | 네 | 네 | 네 | 네 | 네 | 네 | 아니요. | 네 | 네 | 네 | 메모리 제한, 구성 가능 | |
| POCO C++ 라이브러리[8] | 네 | 네 | 1.4.6 2014년 9월 23일 | RFC 6455 | 부스트 | C++, POCO C++ 라이브러리 | C++ | 네 | 네 | 네 | 아니요. | 네 | 네 | 아니요. | 아니요. | 아니요. | 네 | 메모리 제한, 구성 가능 | |
| PowerWebSockets[9] | 네 | 네 | 15.176.5188 2015년 6월 26일 | RFC 6455 | 시험보고서[10] | 상업적 | .NET | .NET Framework, .NET Compact Framework, Xamarin, iOS, Xamarin.Android, Windows Phone, Silverlight, Mono | 네 | 네 | 네 | 네 | 아니요. | 네 | 네 | 네 | 네 | 네 | 메모리 제한, 구성 가능 |
| QtWebSockets[11] | 네 | 네 | 1.0 2013년 11월 12일 | RFC 6455 | LGPL | C++, Qt | Qt | 네 | 네 | 네 | 네 | 네 | 아니요. | 네 | 네 | 네 | 네 | 메모리 제한, 구성 가능 | |
| 링소켓[12] | 아니요. | 네 | 1.0 2019년 9월 13일 | RFC 6455 | MIT | C | C | 네 | 네 | 네 | 네 | 아니요. | 아니요. | 네 | 네 | 아니요. | 아니요. | 무제한/무제한 | |
| 수지[13] | 아니요. | 네 | 4.026 2012년 2월 29일 | RFC 6455 | GPL, 상업용 | 자바, C | 자바 | 네 | 네 | 네 | 아니요. | 네 | 아니요. | 네 | 아니요. | 아니요. | 메모리 제한, 구성 가능 | ||
| WebSocketListener[14] | 아니요. | 네 | 2.1.3 2014년 11월 24일 | RFC 6455 | MIT | .NET, 모노 | .NET, 모노 | 네 | 네 | 네 | 네 | 아니요. | 네 | 네 | 네 | 네 | 아니요. | 구성 가능 | |
| Wt[15] | 아니요. | 네 | 3.2.0 2011년 11월 30일 | 0,7,8,13 (17) | [? 리포트] | GPL, 상업용 | C++, 부스트 Asio | C++ | 네 | 네 | 아니요. | 아니요. | 아니요. | 네 | 네 | 네 | 아니요. | 메모리 제한, 구성 가능 | |
| XSockets.네트[16] | 네 | 네 | 5.* | RFC 6455 | 상업적 | .NET | 서버 언어:윈도(.NET), Unix-Linux(Mono) 클라이언트 언어: JavaScript, .NET, 모노 | 네 | 네 | 네 | 네 | 아니요. | 네 | 네 | 네 | 네 | 네 | 메모리 제한, 구성 가능 | |
| RIWA 게이트웨이[17] | 네 | 네 | 2.01 | RFC 6455 | 상업적 | 자바 | Java, Android, iOS, JavaScript | 네 | 네 | 네 | 네 | 아니요. | 네 | 아니요. | 네 | 아니요. | 아니요. | 메모리 제한, 구성 가능 | |
| µWebSockets[18] | 아니요. | 네 | v0.14.0 2017년 3월 28일 | RFC 6455 | 시험보고서[19] | 아파치 라이선스 2.0 | C++, epoll, Libuv, Boost Asio | C++, JavaScript, Node.js | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 메모리 제한, 구성 가능 |
| 부스트.비스트[20] | 네 | 네 | 94 2017년 7월 30일 | RFC 6455 | 시험보고서[21] | 부스트 | C++, 부스트 Asio | C++ | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 무제한(사용자 코드로 스트리밍), permessage-defate(무제한)(무제한) |
| libwebsockets.[22] | 네 | 네 | 2.4 2017년 10월 16일 | RFC 6455 + RFC 7692 | 시험보고서[23] | LGPL2 + SLE | C, libuv, libev, libevent, pollation, 외부 폴 루프 통합, OpenSSL, mbedTLS | C, HTML5, JavaScript | 네 | 네 | 네 | 네 | 네 | 네네 | 네 | 네 | 네 | 네 | 무제한(사용자 코드로 스트리밍), permessage-defate(무제한)(무제한) |
| 웹소켓+++[24] | 네 | 네 | 0.7.0 2016년 2월 22일 | RFC 6455 | BSD | C++11 | C++11 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| facil.io[25] | 네 | 네 | 0.7.1 2019년 5월 18일 | RFC 6455 | MIT | C | C | 네 | 네 | 네 | 네 | 네 | 네네 | 네 | 네 | 네 | 네 | 서버 제한에 대한 구성 가능한 클라이언트.클라이언트에 무제한(무제한) 서버 | |
| 귀리꽃차례[26] | 네 | 네 | 1.2.0 2020년 10월 27일 | RFC 6455 | 아파치 라이선스 2.0 | C++11, Oat++ | C++11, Oat++ | 네 | 네 | 네 | 네 | 네 | 네 | 네 | 아니요. | 아니요. | 네 | 무제한(사용자 코드로 스트리밍됨) |
메모들
- ^ a b 크롬 웹사이트
- ^ a b 네코 웹사이트
- ^ Achex WS 웹 사이트
- ^ 카이저링 웹사이트
- ^ Lightstreamer 웹 사이트
- ^ 철새데이터 웹사이트
- ^ noPoll 웹사이트
- ^ POCO C++ 라이브러리 설명서
- ^ PowerWebSockets 웹 사이트
- ^ PowerWebSockets Autoban Testsuite 리포트
- ^ QtWebSockets 웹 사이트
- ^ 링소켓(GitHub)
- ^ 카우초 웹사이트
- ^ WebSocketListener 웹 사이트
- ^ wt 웹사이트
- ^ XSockets.NET 웹사이트
- ^ RIWA 웹사이트
- ^ µWebSockets(GitHub)
- ^ µWebSockets Autoban Testsuite 보고서
- ^ 부스트.비스트(GitHub)
- ^ 비스트.웹소켓 오토반 테스트사이트 보고서
- ^ libwebsockets.org 웹사이트
- ^ libwebsockets.org의 오토반 테스트사이트 보고서
- ^ 웹 사이트+++ 웹 사이트
- ^ facil.io 웹사이트
- ^ oatpp.io 웹사이트