wslay

by tatsuhiro-t

tatsuhiro-t / wslay

The WebSocket library in C

450 Stars 95 Forks Last release: 4 months ago (release-1.1.1) MIT License 205 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Wslay - The WebSocket library

Project Web: https://tatsuhiro-t.github.io/wslay/

Wslay is a WebSocket library written in C. It implements the protocol version 13 described in

RFC 6455 
_. This library offers 2 levels of API: event-based API and frame-based low-level API. For event-based API, it is suitable for non-blocking reactor pattern style. You can set callbacks in various events. For frame-based API, you can send WebSocket frame directly. Wslay only supports data transfer part of WebSocket protocol and does not perform opening handshake in HTTP.

Wslay supports:

  • Text/Binary messages.
  • Automatic ping reply.
  • Callback interface.
  • External event loop.

Wslay does not perform any I/O operations for its own. Instead, it offers callbacks for them. This makes Wslay independent on any I/O frameworks, SSL, sockets, etc. This makes Wslay portable across various platforms and the application authors can choose freely I/O frameworks.

See Autobahn test reports:

server 
_ and
client 
_.

Requirements

Sphinx 
_ is used to generate man pages.

To build and run the unit test programs, the following packages are needed:

  • cunit >= 2.1

To build and run the example programs, the following packages are needed:

  • nettle >= 2.4

Build from git

Building from git is easy, but please be sure that at least autoconf 2.68 is used.::

$ autoreconf -i
$ automake
$ autoconf
$ ./configure
$ make

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.