Skip to content

A Lightweight and fully asynchronous WebSocket client library based on libev

License

Notifications You must be signed in to change notification settings

zhaojh329/libuwsc

Repository files navigation

libuwsc(中文)

license PRs Welcome Issue Welcome Release Version Build Status

A Lightweight and fully asynchronous WebSocket client library based on libev for Embedded Linux. And provide Lua-binding.

Why should I choose libev?

libev tries to follow the UNIX toolbox philosophy of doing one thing only, as good as possible.

Features

  • Lightweight - 35KB(Using glibc,stripped)
  • Fully asynchronous - Use libev as its event backend
  • Support ssl - OpenSSL, mbedtls and CyaSSl(wolfssl)
  • Code structure is concise and understandable, also suitable for learning
  • Lua-binding

Dependencies

Install dependent packages

sudo apt install libev-dev libssl-dev

Build and install

git clone --recursive https://github.com/zhaojh329/libuwsc.git
cd libuwsc
mkdir build && cd build
cmake ..
make && sudo make install

Install on OpenWrt

opkg update
opkg list | grep libuwsc
opkg install libuwsc-nossl

If the install command fails, you can compile it yourself.

Contributing

If you would like to help making libuwsc better, see the CONTRIBUTING.md file.