Английская Википедия:Comparison of WebSocket implementations

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:Multiple issues

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
Шаблон:Rh| Google Chrome 15[1] Шаблон:Yes Шаблон:No 15.0.874.8
Шаблон:Nowrap
8 (10) Шаблон:Partial C++, WebKit JavaScript, HTML5 Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No, No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No ≥ 16 MB
(memory-limited?)
Шаблон:Rh| Google Chrome 16[1] Шаблон:Yes Шаблон:No 16.0.912
Шаблон:Nowrap
13 (17/RFC 6455) Шаблон:Partial C++, WebKit JavaScript, HTML5 Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No, No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No ≥ 16 MB
(memory-limited?)
Шаблон:Rh| Mozilla Firefox 7[2] Шаблон:Yes Шаблон:No 7 beta
Шаблон:Nowrap
8 (10) Шаблон:Free C++, Necko JavaScript, HTML5 Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No, No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No < 16 MB
Шаблон:Rh| Mozilla Firefox 11[2] Шаблон:Yes Шаблон:No 11.0
Шаблон:Nowrap
13 (17/RFC 6455) Шаблон:Free C++, Necko JavaScript, HTML5 Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No, No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No < 2 GB
(memory-limited?)
Шаблон:Rh| Achex WS[3] Шаблон:Yes Шаблон:Yes 2.17
Шаблон:Nowrap
RFC 6455 Шаблон:Free C++ C++, JavaScript Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes 2^16
Шаблон:Rh| Kaazing WebSocket Gateway[4] Шаблон:Yes Шаблон:Yes 5.0 Dec 2014 RFC 6455 Шаблон:Partial 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
Шаблон:Rh| Lightstreamer[5] Шаблон:Yes Шаблон:Yes 7.4.1
Шаблон:Nowrap
RFC 6455 Шаблон:Partial Java JavaScript, Android, Java, Swift, iOS, macOS, tvOS, watchOS, .NET Standard, Python, Flash/Flex, Silverlight, J2ME Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Data driven, configurable
Шаблон:Rh| MigratoryData[6] Шаблон:Yes Шаблон:Yes 6.0.5
Шаблон:Nowrap
RFC 6455 Шаблон:Nonfree Java JavaScript, iOS, Android, Java, C++, .NET, PHP, Node.js, Python Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No, No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No 263, configurable
Шаблон:Rh| Mongoose[7] Шаблон:Yes Шаблон:Yes 7.9
Шаблон:Nowrap
RFC 6455 Шаблон:Partial C/C++ C/C++ Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes 263, configurable
Шаблон:Rh| noPoll[8] Шаблон:Yes Шаблон:Yes 0.3.2
Шаблон:Nowrap
RFC 6455 Шаблон:Free ANSI C ANSI C Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes memory-limited, configurable
Шаблон:Rh| POCO C++ Libraries[9] Шаблон:Yes Шаблон:Yes 1.4.6
Шаблон:Nowrap
RFC 6455 Шаблон:Free C++, POCO C++ Libraries C++ Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes memory-limited, configurable
Шаблон:Rh| PowerWebSockets[10] Шаблон:Yes Шаблон:Yes 15.176.5188
Шаблон:Nowrap
RFC 6455 Test report[11] Шаблон:Nonfree .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
Шаблон:Rh| QtWebSockets[12] Шаблон:Yes Шаблон:Yes 1.0
Шаблон:Nowrap
RFC 6455 Шаблон:Free C++, Qt Qt Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes memory-limited, configurable
Шаблон:Rh| RingSocket[13] Шаблон:No Шаблон:Yes 1.0
Шаблон:Nowrap
RFC 6455 Шаблон:Free C C Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No unlimited/configurable
Шаблон:Rh| Resin[14] Шаблон:No Шаблон:Yes 4.026
Шаблон:Nowrap
RFC 6455 Шаблон:Partial Java, C Java Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No memory-limited, configurable
Шаблон:Rh| WebSocketListener[15] Шаблон:No Шаблон:Yes 2.1.3
Шаблон:Nowrap
RFC 6455 Шаблон:Free .NET, Mono .NET, Mono Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Configurable
Шаблон:Rh| Wt[16] Шаблон:No Шаблон:Yes 3.2.0
Шаблон:Nowrap
0,7,8,13 (17) [? Report] Шаблон:Partial C++, Boost Asio C++ Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No memory-limited, configurable
Шаблон:Rh| XSockets.NET[17] Шаблон:Yes Шаблон:Yes 5.* RFC 6455 Шаблон:Nonfree .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
Шаблон:Rh| RIWA Gateway[18] Шаблон:Yes Шаблон:Yes 2.01 RFC 6455 Шаблон:Nonfree Java Java, Android, iOS, JavaScript Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No memory-limited, configurable
Шаблон:Rh| µWebSockets[19] Шаблон:No Шаблон:Yes v0.14.0
Шаблон:Nowrap
RFC 6455 Test report[20] Шаблон:Free C++, epoll, Libuv, Boost Asio C++, JavaScript, Node.js Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes memory-limited, configurable
Шаблон:Rh| Boost.Beast[21] Шаблон:Yes Шаблон:Yes 94
Шаблон:Nowrap
RFC 6455 Test report[22] Шаблон:Free 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)
Шаблон:Rh| libwebsockets[23] Шаблон:Yes Шаблон:Yes 2.4
Шаблон:Nowrap
RFC 6455 + RFC 7692 Test report[24] Шаблон:Free 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)
Шаблон:Rh| websocket++[25] Шаблон:Yes Шаблон:Yes 0.8.2
Шаблон:Nowrap
RFC 6455 Шаблон:Free C++11 C++11 ? ? ? ? ? ? ? ? ? ? ?
Шаблон:Rh| facil.io[26] Шаблон:Yes Шаблон:Yes 0.7.1
Шаблон:Nowrap
RFC 6455 Шаблон:Free C C Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes, yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes configurable client to server limits. unlimited (chunked) server to client.
Шаблон:Rh| oatpp-websocket[27] Шаблон:Yes Шаблон:Yes 1.3.0
Шаблон:Nowrap
RFC 6455 Шаблон:Free C++11, Oat++ C++11, Oat++ Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes unlimited (packets streamed to user code)

Notes

Шаблон:Reflist

Шаблон:Portal bar