extern crate env_logger; /// Simple WebSocket client with error handling. It is not necessary to setup logging, but doing /// so will allow you to see more details about the connection by using the RUST_LOG env variable. extern crate ws; use ws::{connect, CloseCode}; fn main() { // Setup logging env_logger::init(); // Connect to the url and call the closure if let Err(error) = connect("ws://127.0.0.1:3012", |out| { // Queue a message to be sent when the WebSocket is open if out.send("Hello WebSocket").is_err() { println!("Websocket couldn't queue an initial message.") } else { println!("Client sent message 'Hello WebSocket'. ") } // The handler needs to take ownership of out, so we use move move |msg| { // Handle messages received on this connection println!("Client got message '{}'. ", msg); // Close the connection out.close(CloseCode::Normal) } }) { // Inform the user of failure println!("Failed to create WebSocket due to: {:?}", error); } }