Comparison of WebSocket implementations


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 Server Version comparedProtocol version supportProtocol test reportLicenseImplementation: language, environmentAPI: language, environmentSelf-hosted serverText message supportBinary message supportAPI message-basedAPI frame-basedAPI streaming input-outputFlow-control frameworkAutomatic pongs for pingsAutomatic heartbeat pingsManual pings-pongsFrame size limit
Google Chrome 1515.0.874.8
8 C++, WebKitJavaScript, HTML5, No16 MB
Google Chrome 1616.0.912
13 C++, WebKitJavaScript, HTML5, No≥ 16 MB
Mozilla Firefox 77 beta
8 C++, JavaScript, HTML5, No< 16 MB
Mozilla Firefox 1111.0
13 C++, JavaScript, HTML5, No< 2 GB
Achex WS2.17
RFC 6455C++C++, JavaScript2^16
Kaazing WebSocket Gateway5.0 Dec 2014RFC 6455Java, JMSJavaScript, Flash/Flex, Silverlight, Objective-C & iOS, Java, Java & Android, .NET, Xamarinmemory-limited, configurable
Lightstreamer7.4.7
RFC 6455JavaJavaScript, Android, Java, Swift, iOS, macOS, tvOS, watchOS, visionOS, .NET Standard, C++, Python, Flash/Flex, Silverlight, J2MEData driven, configurable
MigratoryData6.0.5
RFC 6455JavaJavaScript, iOS, Android, Java, C++, .NET, PHP, Node.js, Python, No263, configurable
Mongoose7.9
RFC 6455C/C++C/C++263, configurable
noPoll0.3.2
RFC 6455ANSI CANSI Cmemory-limited, configurable
POCO C++ Libraries1.4.6
RFC 6455C++, POCO C++ LibrariesC++memory-limited, configurable
PowerWebSockets15.176.5188
RFC 6455Test report.NET.NET Framework, .NET Compact Framework, Xamarin. iOS, Xamarin.Android, Windows Phone, Silverlight, Monomemory-limited, configurable
QtWebSockets1.0
RFC 6455C++, QtQtmemory-limited, configurable
RingSocket1.0
RFC 6455CCunlimited/configurable
Resin4.026
RFC 6455Java, CJavamemory-limited, configurable
WebSocketListener2.1.3
RFC 6455.NET, Mono.NET, MonoConfigurable
Wt3.2.0
0,7,8,13 C++, Boost AsioC++memory-limited, configurable
XSockets.NET5.*RFC 6455.NETServer-languages: Windows, Unix-Linux

Client-languages: JavaScript, .NET, Mono
memory-limited, configurable
RIWA Gateway2.01RFC 6455JavaJava, Android, iOS, JavaScriptmemory-limited, configurable
μWebSocketsv0.14.0
RFC 6455Test reportC++, epoll, Libuv, Boost AsioC++, JavaScript, Node.jsmemory-limited, configurable, server focused missing client support
Boost.Beast94
RFC 6455Test reportC++, Boost AsioC++unlimited, permessage-deflate also unlimited
libwebsockets2.4
RFC 6455 + RFC 7692Test reportC, libuv,, libevent, poll, external poll loop integration, OpenSSL, mbedTLSC, HTML5, JavaScript, yesunlimited, permessage-deflate also unlimited
websocket++0.8.2
RFC 6455C++11C++11???????????
facil.io0.7.1
RFC 6455CC, yesconfigurable client to server limits. unlimited server to client.
oatpp-websocket1.3.0
RFC 6455C++11, Oat++C++11, Oat++unlimited