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:
- autoconf
- automake
- libtool
- libssl-dev
- libev-dev
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
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
- 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
Please consider supporting this project for ongoing success and sustainability. I'm a passionate open source contributor making a professional living creating free, secure, scalable, robust, enterprise grade, distributed systems and cloud native solutions.
I'm also available for international consulting opportunities. Please let me know how I can assist you or your organization in achieving your desired security posture and technology goals.