This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
The WebSocket protocol is implemented in different web browsers, web servers, and run-time environments and libraries acting as clients or servers. The following is a table of different features of notable WebSocket implementations.
Client (library) |
Server (library) |
Version compared | Protocol (spec) version support |
Protocol test report |
License | Implementation: language, environment |
API: language, environment |
Self-hosted server |
Text message support |
Binary message support |
API message-based |
API frame-based |
API streaming input-output |
Flow-control framework |
Automatic pongs for pings |
Automatic heartbeat pings |
Manual pings-pongs |
Frame size limit | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Google Chrome 15 |
Yes | No | 15.0.874.8 12 Sep 2011 |
8 (10) | Complex | C++, WebKit | JavaScript, HTML5 | No | Yes | Yes | Yes | No | No, No | No | Yes | No | No | ≥ 16 MB (memory-limited?) | |
| Google Chrome 16 |
Yes | No | 16.0.912 13 Dec 2011 |
13 (17/RFC 6455) | Complex | C++, WebKit | JavaScript, HTML5 | No | Yes | Yes | Yes | No | No, No | No | Yes | No | No | ≥ 16 MB (memory-limited?) | |
| Mozilla Firefox 7 |
Yes | No | 7 beta 12 Sep 2011 |
8 (10) | MPL, GPL, LGPL | C++, Necko | JavaScript, HTML5 | No | Yes | No | Yes | No | No, No | No | Yes | No | No | < 16 MB | |
| Mozilla Firefox 11 |
Yes | No | 11.0 13 Mar 2012 |
13 (17/RFC 6455) | MPL, GPL, LGPL | C++, Necko | JavaScript, HTML5 | No | Yes | Yes | Yes | No | No, No | No | Yes | No | No | < 2 GB (memory-limited?) | |
| Achex WS |
Yes | Yes | 2.17 17 June 2014 |
RFC 6455 | Commercial | C++ | C++, JavaScript | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | |
| Kaazing WebSocket Gateway |
Yes | Yes | 5.0 Dec 2014 | RFC 6455 | APL2 (Community Edition), commercial (Enterprise Edition) | Java, JMS | JavaScript, Flash/Flex, Silverlight, Objective-C & iOS, Java, Java & Android, .NET, Xamarin | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | memory-limited, configurable | |
| Lightstreamer | Yes | Yes | 7.4.9 20 Oct 2026 |
RFC 6455 | Commercial, freeware | Java | JavaScript, Android, Java, Swift, iOS, macOS, tvOS, watchOS, visionOS, .NET Standard, C++, Python, Flash/Flex, Silverlight, J2ME | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | No | Data driven, configurable | |
| MigratoryData |
Yes | Yes | 6.0.5 29 Aug 2021 |
RFC 6455 | Commercial | Java | JavaScript, iOS, Android, Java, C++, .NET, PHP, Node.js, Python | Yes | Yes | No | Yes | No | No, No | Yes | Yes | Yes | No | 263, configurable | |
| Mongoose |
Yes | Yes | 7.9 24 Jan 2023 |
RFC 6455 | GPL, commercial | C/C++ | C/C++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | 263, configurable | |
| noPoll | Yes | Yes | 0.3.2 28 aug 2015 |
RFC 6455 | LGPL 2.1 | ANSI C | ANSI C | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | memory-limited, configurable | |
| POCO C++ Libraries | Yes | Yes | 1.4.6 23 Sep 2014 |
RFC 6455 | Boost | C++, POCO C++ Libraries | C++ | Yes | Yes | Yes | No | Yes | Yes | No | No | No | Yes | memory-limited, configurable | |
| PowerWebSockets |
Yes | Yes | 15.176.5188 26 Jun 2015 |
RFC 6455 | Test report |
Commercial | .NET | .NET Framework, .NET Compact Framework, Xamarin. iOS, Xamarin.Android, Windows Phone, Silverlight, Mono | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | memory-limited, configurable |
| QtWebSockets |
Yes | Yes | 1.0 12 Nov 2013 |
RFC 6455 | LGPL | C++, Qt | Qt | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | memory-limited, configurable | |
| RingSocket |
No | Yes | 1.0 13 Sep 2019 |
RFC 6455 | MIT | C | C | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No | No | unlimited/configurable | |
| Resin | No | Yes | 4.026 29 Feb 2012 |
RFC 6455 | GPL, commercial | Java, C | Java | Yes | Yes | Yes | No | Yes | No | Yes | No | No | memory-limited, configurable | ||
| WebSocketListener |
No | Yes | 2.1.3 24 Nov 2014 |
RFC 6455 | MIT | .NET, Mono | .NET, Mono | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Configurable | |
| Wt | No | Yes | 3.2.0 30 Nov 2011 |
0,7,8,13 (17) | ? Report | GPL, commercial | C++, Boost Asio | C++ | Yes | Yes | No | No | No | Yes | Yes | Yes | No | memory-limited, configurable | |
| XSockets.NET |
Yes | Yes | 5.* | RFC 6455 | Commercial | .NET | Server-languages: Windows (.NET), Unix-Linux (Mono) Client-languages: JavaScript, .NET, Mono |
Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | memory-limited, configurable | |
| RIWA Gateway |
Yes | Yes | 2.01 | RFC 6455 | Commercial | Java | Java, Android, iOS, JavaScript | Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | No | memory-limited, configurable | |
| μWebSockets | No | Yes | v0.14.0 28 Mar 2017 |
RFC 6455 | Test report |
Apache License 2.0 | C++, epoll, Libuv, Boost Asio | C++, JavaScript, Node.js | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | memory-limited, configurable, server focused missing client support |
| Boost.Beast | Yes | Yes | 94 30 July 2017 |
RFC 6455 | Test report |
Boost | C++, Boost Asio | C++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | unlimited (packets streamed to user code), permessage-deflate also unlimited (chunked) |
| libwebsockets | Yes | Yes | 2.4 16 Oct 2017 |
RFC 6455 + RFC 7692 | Test report |
LGPL2 + SLE | C, libuv, libev , libevent, poll, external poll loop integration, OpenSSL, mbedTLS | C, HTML5, JavaScript | Yes | Yes | Yes | Yes | Yes | Yes, yes | Yes | Yes | Yes | Yes | unlimited (packets streamed to user code), permessage-deflate also unlimited (chunked) |
| websocket++ | Yes | Yes | 0.8.2 20 Apr, 2020 |
RFC 6455 | BSD | C++11 | C++11 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| facil.io | Yes | Yes | 0.7.1 18 May 2019 |
RFC 6455 | MIT | C | C | Yes | Yes | Yes | Yes | Yes | Yes, yes | Yes | Yes | Yes | Yes | configurable client to server limits. unlimited (chunked) server to client. | |
| oatpp-websocket | Yes | Yes | 1.3.0 19 Nov 2021 |
RFC 6455 | Apache License 2.0 | C++11, Oat++ | C++11, Oat++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | unlimited (packets streamed to user code) |