housleyjk/ws-rs


Lightweight, event-driven WebSockets for Rust.

License: MIT

Language: Rust


WS-RS

Lightweight, event-driven WebSockets for Rust.

/// A WebSocket echo server
listen("127.0.0.1:3012", |out| {
    move |msg| {
        out.send(msg)
    }
})

Introduction

Build Status MIT licensed Crate

Homepage

API Documentation

This library provides an implementation of WebSockets, RFC6455 using MIO. It allows for handling multiple connections on a single thread, and even spawning new client connections on the same thread. This makes for very fast and resource efficient WebSockets. The API design abstracts away the menial parts of the WebSocket protocol and allows you to focus on application code without worrying about protocol conformance. However, it is also possible to get low-level access to individual WebSocket frames if you need to write extensions or want to optimize around the WebSocket protocol.

Getting Started

For detailed installation and usage instructions, check out the guide.

Features

WS-RS provides a complete implementation of the WebSocket specification. There is also support for ssl and permessage-deflate.

Testing

WS-RS is thoroughly tested and passes the Autobahn Test Suite for WebSockets, including the tests for permessage-deflate. Visit ws-rs.org to view the results of the latest test run.

Contributing

Please report bugs and make feature requests here.

Project Statistics

Sourcerank 13
Repository Size 530 KB
Stars 830
Forks 118
Watchers 32
Open issues 80
Dependencies 14
Contributors 34
Tags 5
Created
Last updated
Last pushed

Top Contributors See all

Jason Housley Corentin Henry Bastien Orivel Ran Benita Tomasz Drwięga wangcong Linus Färnstrand Peter Wischer Stuart Small Shritesh Bhattarai Hubert Figuière Anthony Ramine Robbie Straw Alkis Evlogimenos Alexey Galakhov Jonathan Almeida rocallahan Ralf Biedert Ariel Davis Christoph Walcher

Packages Referencing this Repo

ws
Lightweight, event-driven WebSockets for Rust.
Latest release 0.8.1 - Updated - 830 stars

Recent Tags See all

v0.8.1 May 10, 2019
v0.8.0 February 21, 2019
v0.7.9 October 15, 2018
v0.7.8 August 15, 2018
v0.7.7 June 25, 2018

Something wrong with this page? Make a suggestion

Last synced: 2019-05-10 23:14:08 UTC

Login to resync this repository