Jämförelse av WebSocket-implementationer
WebSocket - protokollet är implementerat i olika webbläsare , webbservrar och körtidsmiljöer och bibliotek som fungerar som klienter eller servrar. Följande är en tabell över olika funktioner i anmärkningsvärda WebSocket- implementeringar.
Klient (bibliotek) | Server (bibliotek) | Jämförd version | Stöd för protokoll (spec) version | Protokolltestrapport | Licens | Genomförande: språk, miljö | API: språk, miljö | Egen värd server | Stöd för textmeddelanden | Binärt meddelandestöd | API-meddelandebaserad | API-rambaserad | API-strömmande input-output | Ramverk för flödeskontroll | Automatisk pong för ping | Automatiska hjärtslag pingar | Manuell pingis | Ramstorleksgräns | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Google Chrome 15 | Ja | Nej |
15.0.874.8 12 september 2011 |
8 (10) | Komplex | C++ , WebKit | JavaScript , HTML5 | Nej | Ja | Ja | Ja | Nej | Nej nej | Nej | Ja | Nej | Nej |
≥ 16 MB (begränsat minne?) |
|
Google Chrome 16 | Ja | Nej |
16.0.912 13 dec 2011 |
13 (17/RFC 6455) | Komplex | C++ , WebKit | JavaScript , HTML5 | Nej | Ja | Ja | Ja | Nej | Nej nej | Nej | Ja | Nej | Nej |
≥ 16 MB (begränsat minne?) |
|
Mozilla Firefox 7 | Ja | Nej |
7 beta 12 september 2011 |
8 (10) | MPL , GPL , LGPL | C++ , Necko | JavaScript , HTML5 | Nej | Ja | Nej | Ja | Nej | Nej nej | Nej | Ja | Nej | Nej | < 16 MB | |
Mozilla Firefox 11 | Ja | Nej |
11.0 13 mars 2012 |
13 (17/RFC 6455) | MPL , GPL , LGPL | C++ , Necko | JavaScript , HTML5 | Nej | Ja | Ja | Ja | Nej | Nej nej | Nej | Ja | Nej | Nej |
< 2 GB (begränsat minne?) |
|
Achex WS | Ja | Ja |
2.17 17 juni 2014 |
RFC 6455 | Kommersiell | C++ | C++ , JavaScript | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nej | Nej | Ja | 2^16 | |
Kaazing WebSocket Gateway | Ja | Ja | 5.0 december 2014 | RFC 6455 | APL2 (Community Edition), kommersiell (Enterprise Edition) | Java , JMS | JavaScript , Flash/Flex , Silverlight , Objective-C & iOS , Java , Java & Android , .NET , Xamarin | Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja | Ja | Nej | minnesbegränsad, konfigurerbar | |
Lightstreamer | Ja | Ja |
7.3.2 12 december 2022 |
RFC 6455 | Kommersiellt , gratisprogram | Java | JavaScript , Android , Java , Swift , iOS , macOS , tvOS , watchOS , .NET Standard , Python , Flash/Flex , Silverlight , J2ME | Ja | Ja | Nej | Ja | Nej | Nej | Ja | Ja | Ja | Nej | Datadriven, konfigurerbar | |
MigratoryData | Ja | Ja |
6.0.5 29 augusti 2021 |
RFC 6455 | Kommersiell | Java | JavaScript , iOS , Android , Java , C++ , .NET , PHP , Node.js , Python | Ja | Ja | Nej | Ja | Nej | Nej nej | Ja | Ja | Ja | Nej | 2 63 , konfigurerbar | |
Mungo | Ja | Ja |
7,9 24 januari 2023 |
RFC 6455 | GPL , kommersiell | C/C++ | C/C++ | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nej | Ja | 2 63 , konfigurerbar | |
noPoll | Ja | Ja |
0.3.2 28 aug 2015 |
RFC 6455 | LGPL 2.1 | ANSI C | ANSI C | Ja | Ja | Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja | minnesbegränsad, konfigurerbar | |
POCO C++ bibliotek | Ja | Ja |
1.4.6 23 september 2014 |
RFC 6455 | Lyft | C++ , POCO C++ bibliotek | C++ | Ja | Ja | Ja | Nej | Ja | Ja | Nej | Nej | Nej | Ja | minnesbegränsad, konfigurerbar | |
PowerWebSockets | Ja | Ja |
15.176.5188 26 juni 2015 |
RFC 6455 | Testrapport | Kommersiell | .NETTO | .NET Framework , .NET Compact Framework , Xamarin . iOS , Xamarin . Android , Windows Phone , Silverlight , Mono | Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja | Ja | Ja | minnesbegränsad, konfigurerbar |
QtWebSockets | Ja | Ja |
1.0 12 nov 2013 |
RFC 6455 | LGPL | C++ , Qt | Qt | Ja | Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja | Ja | minnesbegränsad, konfigurerbar | |
RingSocket | Nej | Ja |
1.0 13 september 2019 |
RFC 6455 | MIT | C | C | Ja | Ja | Ja | Ja | Nej | Nej | Ja | Ja | Nej | Nej | obegränsad/konfigurerbar | |
Harts | Nej | Ja |
4,026 29 februari 2012 |
RFC 6455 | GPL , kommersiell | Java , C | Java | Ja | Ja | Ja | Nej | Ja | Nej | Ja | Nej | Nej | minnesbegränsad, konfigurerbar | ||
WebSocketListener | Nej | Ja |
2.1.3 24 november 2014 |
RFC 6455 | MIT | .NET , Mono | .NET , Mono | Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja | Ja | Nej | Konfigurerbar | |
Wt | Nej | Ja |
3.2.0 30 november 2011 |
0,7,8,13 (17) | [? Rapportera] | GPL , kommersiell | C++ , Boost Asio | C++ | Ja | Ja | Nej | Nej | Nej | Ja | Ja | Ja | Nej | minnesbegränsad, konfigurerbar | |
XSockets.NET | Ja | Ja | 5.* | RFC 6455 | Kommersiell | .NETTO | Serverspråk: Windows (.NET), Unix - Linux (Mono) Klientspråk: JavaScript , .NET , Mono |
Ja | Ja | Ja | Ja | Nej | Ja | Ja | Ja | Ja | Ja | minnesbegränsad, konfigurerbar | |
RIWA Gateway | Ja | Ja | 2.01 | RFC 6455 | Kommersiell | Java | Java , Android , iOS , JavaScript | Ja | Ja | Ja | Ja | Nej | Ja | Nej | Ja | Nej | Nej | minnesbegränsad, konfigurerbar | |
µWebSockets | Nej | Ja |
v0.14.0 28 mars 2017 |
RFC 6455 | Testrapport | Apache-licens 2.0 | C++ , epoll , Libuv , Boost Asio | C++ , JavaScript , Node.js | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | minnesbegränsad, konfigurerbar |
Boost.Beast | Ja | Ja |
94 30 juli 2017 |
RFC 6455 | Testrapport | Lyft | C++ , Boost Asio | C++ | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | obegränsat (paket streamas till användarkod), permessage-deflate också obegränsat (chunked) |
libwebsockets | Ja | Ja |
2.4 16 oktober 2017 |
RFC 6455 + RFC 7692 | Testrapport | LGPL2 + SLE | C , libuv , libev, libevent , poll , extern poll loop integration, OpenSSL , mbedTLS | C , HTML5 , JavaScript | Ja | Ja | Ja | Ja | Ja | Jaja | Ja | Ja | Ja | Ja | obegränsat (paket streamas till användarkod), permessage-deflate också obegränsat (chunked) |
websocket++ | Ja | Ja |
0.8.2 20 april 2020 |
RFC 6455 | BSD | C++11 | C++11 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
facil.io | Ja | Ja |
0.7.1 18 maj 2019 |
RFC 6455 | MIT | C | C | Ja | Ja | Ja | Ja | Ja | Jaja | Ja | Ja | Ja | Ja | konfigurerbara klient-till-server-gränser. obegränsad (chunkad) server till klient. | |
oatpp-websocket | Ja | Ja |
1.3.0 19 november 2021 |
RFC 6455 | Apache-licens 2.0 | C++11 , Oat++ | C++11 , Oat++ | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Nej | Nej | Ja | obegränsat (paket streamas till användarkod) |