A fast, low-overhead WebSocket client

12 releases

✓ Uses Rust 2018 edition

new 0.3.2 Dec 2, 2019
0.3.2-alpha.6 Nov 22, 2019
0.3.0-alpha.6 Oct 26, 2019
0.2.4 Apr 15, 2019
0.1.2 Oct 24, 2018

#10 in WebSocket

Download history 1/week @ 2019-08-18 19/week @ 2019-08-25 16/week @ 2019-09-01 33/week @ 2019-09-08 42/week @ 2019-09-15 51/week @ 2019-09-22 11/week @ 2019-09-29 16/week @ 2019-10-06 8/week @ 2019-10-13 11/week @ 2019-10-20 60/week @ 2019-10-27 37/week @ 2019-11-03 8/week @ 2019-11-10 57/week @ 2019-11-17 47/week @ 2019-11-24

129 downloads per month

MIT license


websocket-lite and websocket-codec

Build Status

This repo contains two crates:

  • websocket-lite, a fast, low-overhead WebSocket client
  • websocket-codec, a Tokio codec implementation of the WebSocket protocol



This crate is optimised for receiving a high volume of messages over a long period. A key feature is that it makes no memory allocations once the connection is set up and the initial messages have been sent and received; it reuses a single pair of buffers, which are sized for the longest message seen so far.

You can use this crate in both asynchronous (futures-based) and synchronous code. native_tls provides the TLS functionality for wss://... servers.

This crate is fully conformant with the fuzzingserver module in the Autobahn test suite.



This is a standalone crate that does not do any I/O directly. For a full WebSocket client, see the websocket-lite crate.


As of October 2019, the master branch builds against Rust nightly, and is expected to build against Rust stable 1.40. It currently references futures-preview = "0.3.0-alpha.19" and tokio = "0.2.0-alpha.6".


~108K SLoC