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 Message-based API Frame-based API Streaming API input/output Flow-control framework Automatic pongs for pings Automatic heartbeat pings Manual pings/pongs Frame size limit
Google Chrome 15[1] Yes No 15.0.874.8
12 Sep 2011
8 (10) complex C++ / WebKit JavaScript / HTML5 No Yes No Yes No No/No No Yes No No ≥ 16 MB
(memory-limited?)
Google Chrome 16[1] Yes No 16.0.912
13 Dec 2011
13 (17/RFC 6455) complex C++ / WebKit JavaScript / HTML5 No Yes No Yes No No/No No Yes No No ≥ 16 MB
(memory-limited?)
Mozilla Firefox 7[2] 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[2] 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 [3] Yes Yes 2.17
17 June 2014
RFC 6455 new BSD License C++ C++/Javascript Yes Yes Yes Yes Yes Yes Yes No No Yes 2^16
Kaazing WebSocket Gateway[4] 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 [5] Yes Yes 6.0.1
30 Jul 2015
RFC 6455 Both Commercial and Freeware Java JavaScript / Flash/Flex / Silverlight / iOS / OS X / Java / J2ME / Android / .NET / Windows Phone / WinRT Yes Yes No Yes No No Yes Yes Yes No Data driven, configurable
MigratoryData[6] Yes Yes 4.0.7
21 May 2013
RFC 6455 Commercial Java JavaScript / Flash/Flex / Silverlight / Objective-C & iOS / Java J2ME & BlackBerry / Java J2SE & Android / .NET Compact Framework / .NET / C++ / Python / Perl / Ruby Yes Yes Yes No No/No Yes Yes Yes No 263, configurable
noPoll[7] 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[8] Yes Yes 1.4.6
23 Sep 2014
RFC 6455 Boost Software License C++ / POCO C++ Libraries C++ Yes Yes Yes No Yes Yes No No No Yes memory-limited, configurable
PowerWebSockets[9] Yes Yes 15.176.5188
26 Jun 2015
RFC 6455 Test report[10] 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
Push Technology Diffusion[11] Yes Yes 4.6.1 RFC 6455 Commercial Java JavaScript / Flash/Flex / Silverlight / Objective-C & iOS / Java / Java & Android / .NET / Java J2ME & BlackBerry / C/C++ / Node.js Yes Yes Yes Yes No Yes Yes Yes[12] Yes[12] No memory-limited, configurable
QtWebSockets[13] 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
Resin[14] 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 [15] 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 (web toolkit)[16] 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[17] 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 [18] 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

Notes

This article is issued from Wikipedia - version of the Friday, February 05, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.