Comparison table of websocket server implementations.
Name |
Lang |
License |
draft75 |
draft76 |
wss |
http(1) support |
long(2) polling |
Concurrency
model(3)
|
Others |
Updated |
golang |
golang |
BSD-style |
yes |
yes |
? |
yes |
no |
csp(golang) |
Part of standard library |
15th Aug 2010 |
em-websocket |
ruby |
MIT |
yes |
yes |
yes |
no |
no |
evented
(EM)
|
|
15th Aug 2010
|
rev-websocket |
ruby |
MIT |
yes |
yes |
no |
no |
no |
evented
(rev)
|
|
15th Aug 2010
|
cramp |
ruby |
MIT |
yes |
no |
no |
yes |
yes |
evented
(EM)
|
Generic framework to support websocket & long polling seperately |
15th Aug 2010
|
Sunshowers |
ruby |
Ruby/GPL2 |
yes |
? |
? |
? |
yes |
Various |
Part of "Rainbows" library |
15th Aug 2010
|
Jetty |
Java |
Apache2.0
Eclipse1.0
|
yes |
? |
? |
yes |
yes |
Thread Pool |
|
15th Aug 2010
|
Cometd |
Java |
BSD |
|
|
|
? |
yes |
Thread Pool |
Supports Websocket from 2.0 |
15th Aug 2010
|
Grizzly |
Java |
CDDL + GPL |
|
yes |
|
|
yes |
MultiThread + Evented (Glassfish) |
|
15th Aug 2010
|
jWebSocket |
Java |
LGPL |
|
yes |
|
|
|
|
|
15th Aug 2010
|
resin |
Java
php
|
? |
|
|
|
|
yes |
|
|
15th Aug 2010 |
node-websocket-server |
java script |
MIT |
yes |
yes |
yes |
yes |
no |
evented
(node.js)
|
|
15th Aug 2010
|
Socket.io |
java script |
MIT |
yes |
yes |
yes |
? |
yes |
evented
(node.js)
|
Uses node-websocket-sever internally |
15th Aug 2010
|
Kaazing
|
Java? |
Dual? |
yes
|
yes
|
yes
|
?
|
yes
|
?
|
|
15th Aug 2010
|
pywebsocket
|
Python
|
New BSD |
yes
|
yes
|
yes
|
yes
(apache)
|
?
|
single process or depends on apache
|
standalone or apache module
|
15th Aug 2010
|
mod_websocket
|
Python
|
New BSD |
|
yes
|
|
|
|
evented (lighttpd)
|
Extension for lighttpd
|
15th Aug 2010
|
erlang_websocket
|
Elrang
|
? |
|
yes
|
|
|
|
CSP(erlang)
|
|
15th Aug 2010
|
Mojolicious
|
Perl
|
Artistic 2.0 |
yes
|
|
yes
|
|
|
|
|
15th Aug 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOTE:
1: http support = whether the libirary/framework handles both websocket/http request, so that they can be seaved from same address/port
2: long polling = either the library/framework handles both long polling/and native websocket. This also includes long polling fallback.
3: Concurrency model = some depends on language, library, or its dependent web server.
Disclaimer: I (Makoto Inoue) set up this page to gather information to later publish the result at an online media.
Comments (0)
You don't have permission to comment on this page.