[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