[Libwebsockets] v2.0 coming very soon

Andy Green andy at warmcat.com
Sat Apr 23 14:12:18 CEST 2016


Hi -

In the spirit of eating my own dogfood the last couple of weeks my own 
web services for https://libwebsockets.org and https://warmcat.com have 
been running using lwsws on master, with real traffic and with real CGIs 
(cgit + mailman).

After tracking down the last CGI related bugs this week, it seems to be 
stable.

It's running 11 vhosts, although a lot of these are redirects for older 
services.  You can see its current status (via websockets, naturally) here:

https://libwebsockets.org/server-status/

(This is a ws protocol plugin on lwsws and is included in ./plugins)

I've prepared a page listing the new features here

https://libwebsockets.org/lws-2.0-new-features.html

Basically a big advantage is if you are making a server type 
application, you can just use lwsws and only need to write the ws 
protocol plugin and set up some JSON to deploy it, instead of cut and 
pasting custom code.

If you want to deploy more protocols later, they are selfcontained 
plugins and will play nice together.  The server stack is already much 
more mature than 1.7 (the automated mountpoint serving and http cache 
control, apache-compatible logging amongst other things).  And you can 
benefit from centralized maintenance of the whole server stack that way.

For example the lws test server on https://libwebsockets.org/testserver 
has its ws protocols served by lwsws plugins; there's no code at all 
about them in lwsws itself.

If you don't care right now, well it's disabled in cmake by default 
currently and everything works as before by default.

There's some docs on lwsws here:

https://github.com/warmcat/libwebsockets/blob/master/README.lwsws.md

and you can see the actual lwsws JSON config for libwebsockets.org in 
the tree as an example

https://github.com/warmcat/libwebsockets/blob/master/lwsws/etc-lwsws-conf.d-localhost-EXAMPLE

There are two features that will have to wait for a subsequent version I 
think, one is http proxy, although it works it's not integrated into 
lwsws yet (because I don't have a use for it right now and nobody has 
asked for it), the other is mbedtls (people asking for it but nobody 
wants it enough to help work on it, even though I have done all the 
plumbing).

Otherwise it's in good shape AFAICT, it was in Coverity today and it's 
back at zero defects.

If there's any comments, questions or suggestions, it'd be helpful to 
hear them before it gets released ^^

-Andy



More information about the Libwebsockets mailing list