Comparison of WebSocket implementations

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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?)
MigratoryData[3] 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
QtWebSockets[4] 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[5] No Yes 4.026
29 Feb 2012
RFC 6455 GPL Java / C Java Yes Yes Yes No Yes No Yes No No memory-limited, configurable
Wt (web toolkit)[6] 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
Push Technology Diffusion[7] 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[8] Yes[8] No memory-limited, configurable
Kaazing WebSocket Gateway[9] Yes Yes 3.5 RFC 6455 Commercial Java JavaScript / Flash/Flex / Silverlight / Objective-C & iOS / Java / Java & Android / .NET Yes Yes Yes No Yes Yes Yes Yes No memory-limited, configurable
XSockets.NET[10] Yes Yes 3.0.2 RFC 6455 Free .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
Lightstreamer [11] Yes Yes 5.1.1
10 Mar 2014
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
WebSocketListener [12] No Yes 1.1.0
7 April 2014
RFC 6455 MIT .NET .NET Yes Yes Yes Yes No Yes Yes No Yes No 8K, configurable

Notes[edit]