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
POCO C++ Libraries[5] 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
Resin[6] 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
Wt (web toolkit)[7] 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[8] 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[9] Yes[9] No memory-limited, configurable
Kaazing WebSocket Gateway[10] 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[11] 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 [12] Yes Yes 5.1.2
22 Jul 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 [13] No Yes 2.0.1
16 May 2014
RFC 6455 MIT .NET .NET Yes Yes Yes Yes No Yes Yes Yes Yes No Configurable
Achex WS[14] No Yes 2.17
17 June 2014
RFC 6455 complex C++ C++/Javascript Yes Yes No Yes Yes Yes Yes No No Yes 2^16

Notes[edit]