cwebsocket
High performance websocket client/server
The goal of cwebsocket is to provide a portable, high performance websocket client/server, especially on low power embedded systems.
cwebsocket is currently in a development state. You may encounter bugs. Report them for a timely fix.
Successful tests have been conducted on the following architectures:
cwebsocket is compliant with the following standards:
Dependencies
- autoconf
- automake
- libtool
- libssl-dev
- libev-dev
Build
By defaults, cwebsocket is built with multi-threading and SSL support.
To build, run:
./autogen.sh
./configure
make
sudo make install
To built without multi-threading:
./configure --enable-threads=no
To build without SSL:
./configure --enable-ssl=no
Client
The websocket client is able to connect and exchange data with any RFC 6455 compliant server.
./websocket-client ws://echo.websocket.org
./websocket-client wss://echo.websocket.org
TODO
- More testing on various embedded devices
- Implement pluggable sub-protocols (socketio, WAMP, custom)
- Implement pluggable extensions on the client per RFC (section 9)
- Get a basic websocket server developed