extern crate ws; // WebSocket crate use std::cmp::Ordering; // ordering use rand::Rng; // random fn main() { let secret_number:u32 = rand::thread_rng().gen_range(0, 10); // generate random number let srv = ws::listen("127.0.0.1:3012", |out| { move |msg:ws::Message| { // receive websocket as text let guess = msg.into_text().unwrap(); // try parse to integer let guess: Option<u32> = match guess.trim().parse() { Ok(num) => Some(num), Err(_) => None, }; // define a response let response:&str = match guess { None => "not valid", Some(guess) => match guess.cmp(&secret_number) { Ordering::Less => "Too low", Ordering::Greater => "Too high", Ordering::Equal => "you found !", } }; // return the response in websocket out.send(response) } }); return (); }