Misplaced Pages

Comparison of WebSocket implementations

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

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)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Comparison of WebSocket implementations" – news · newspapers · books · scholar · JSTOR (September 2011) (Learn how and when to remove this message)
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Comparison of WebSocket implementations" – news · newspapers · books · scholar · JSTOR (September 2011) (Learn how and when to remove this message)
This article's factual accuracy may be compromised due to out-of-date information. Please help update this article to reflect recent events or newly available information. (March 2013)
(Learn how and when to remove this message)

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 2^16
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.5
4 Oct 2024
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 2, 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 2, 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) 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
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 [Wikidata], 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

  1. ^ Chromium website
  2. ^ Necko website
  3. Achex WS website
  4. Kaazing website
  5. Lightstreamer website
  6. MigratoryData website
  7. Mongoose Library website
  8. noPoll website
  9. POCO C++ Libraries documentation
  10. PowerWebSockets website
  11. PowerWebSockets Autobahn|Testsuite report
  12. QtWebSockets website
  13. RingSocket (GitHub)
  14. Caucho website
  15. WebSocketListener website
  16. wt website
  17. XSockets.NET website
  18. RIWA website
  19. μWebSockets (GitHub)
  20. μWebSockets Autobahn|Testsuite report
  21. Boost.Beast (GitHub)
  22. Beast.WebSocket Autobahn|Testsuite report
  23. libwebsockets.org website
  24. libwebsockets.org lws Autobahn|Testsuite report
  25. websocket++ website
  26. facil.io website
  27. oatpp.io website
Portal: Categories: