libre is a generic library for real-time communications with asynchronous I/O support. It is written in portable POSIX source code that conforms to the ANSI C89 and ISO C99 standards. It is robust and fast, with a low memory footprint. It also features RFC compliance and support for IPv4 and IPv6. Protocol implementations include SIP, SDP, RTP/RTCP, BFCP, DNS, STUN/TURN/ICE, HTTP, and WebSockets.
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: an event-based API and a frame-based low-level API. For the event-based API, it is suitable for non-blocking reactor pattern style. You can set callbacks in various events. For the frame-based API, you can send WebSocket frame directly. Wslay only supports the data transfer part of the WebSocket protocol and does not perform the opening handshake in HTTP. It does not perform any I/O operations for its own. Instead, it offers callbacks for them. This makes Wslay independent of any I/O frameworks, SSL, sockets, etc. It is portable across various platforms, and the application authors can choose I/O frameworks freely.