diff --git a/LICENSE b/LICENSE index 00b109a..dfb98c6 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2016 Alexey Galakhov +Copyright (c) 2017 Alexey Galakhov Copyright (c) 2016 Jason Housley Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/README.md b/README.md new file mode 100644 index 0000000..c98692e --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# Tungstenite + +Lightweight stream-based WebSocket implementation for [Rust](http://www.rust-lang.org). + +```rust + +/// A WebSocket echo server +let server = TcpListener::bind("127.0.0.1:9001").unwrap(); +for stream in server.incoming() { + spawn (move || { + let mut websocket = accept(stream.unwrap()); + loop { + let msg = websocket.read_message().unwrap(); + websocket.write_message(msg).unwrap(); + } + }) +} +``` + +Introduction +------------ +[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) + +This library provides an implementation of WebSockets, +[RFC6455](https://tools.ietf.org/html/rfc6455). It allows for both synchronous (like TcpStream) +and asynchronous usage and is easy to integrate into any third-party event loops including +[MIO](https://github.com/carllerche/mio). The API design abstracts away all the internals of the +WebSocket protocol but still makes them accessible for those who wants full control over the +network. + +This library is a work in progress. Feel free to ask questions and send us pull requests. + +Why Tungstenite? +---------------- + +It's formerly WS2, the 2nd implementation of WS. WS2 is the chemical formula of +tungsten disulfide, the tungstenite mineral. + +Features +-------- + +Tungstenite provides a complete implementation of the WebSocket specification. +TLS is supported on all platforms using native-tls. + +There is no support for permessage-deflate at the moment. It's planned. + +Testing +------- + +Tungstenite is thoroughly tested and passes the [Autobahn Test Suite](http://autobahn.ws/testsuite/) for +WebSockets. It is also covered by internal unit tests as good as possible. + +Contributing +------------ + +Please report bugs and make feature requests [here](https://github.com/snapview/tungstenite-rs/issues).