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
(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)

Notes