parent
06a39b4962
commit
d07f8067ff
@ -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). |
Loading…
Reference in new issue