Update README and examples

This commit is contained in:
Daniel Abramov 2017-07-28 14:29:56 +02:00
parent 44a15c9eab
commit 5982d4094d
3 changed files with 21 additions and 3 deletions

View File

@ -8,15 +8,21 @@ Lightweight stream-based WebSocket implementation for [Rust](http://www.rust-lan
let server = TcpListener::bind("127.0.0.1:9001").unwrap();
for stream in server.incoming() {
spawn (move || {
let mut websocket = accept(stream.unwrap()).unwrap();
let mut websocket = accept(stream.unwrap(), None).unwrap();
loop {
let msg = websocket.read_message().unwrap();
websocket.write_message(msg).unwrap();
// We do not want to send back ping/pong messages.
if msg.is_binary() || msg.is_text() {
websocket.write_message(msg).unwrap();
}
}
});
}
```
Take a look at the examples section to see how to write a simple client/server.
[![MIT licensed](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE-MIT)
[![Apache-2.0 licensed](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE-APACHE)
[![Crates.io](https://img.shields.io/crates/v/tungstenite.svg?maxAge=2592000)](https://crates.io/crates/tungstenite)

View File

@ -8,9 +8,16 @@ use tungstenite::{Message, connect};
fn main() {
env_logger::init().unwrap();
let (mut socket, _) = connect(Url::parse("ws://localhost:3012/socket").unwrap())
let (mut socket, response) = connect(Url::parse("ws://localhost:3012/socket").unwrap())
.expect("Can't connect");
println!("Connected to the server");
println!("Response HTTP code: {}", response.code);
println!("Response contains the following headers:");
for &(ref header, _ /*value*/) in response.headers.iter() {
println!("* {}", header);
}
socket.write_message(Message::Text("Hello WebSocket".into())).unwrap();
loop {
let msg = socket.read_message().expect("Error reading message");

View File

@ -49,6 +49,11 @@ impl Headers {
.unwrap_or(false)
}
/// Allows to iterate over available headers.
pub fn iter(&self) -> slice::Iter<(String, Box<[u8]>)> {
self.data.iter()
}
}
/// The iterator over headers.