January 2018
Beginner to intermediate
454 pages
10h 8m
English
The program we just wrote does absolutely nothing, so let's update it so that it at least starts a server, using tokio. Let's write an actual body to our server() function:
use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use tokio_core::reactor::Handle; use tokio_core::net::TcpListener; #[async] fn server(handle: Handle) -> io::Result<()> { let port = 1234; let addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), port); let listener = TcpListener::bind(&addr, &handle)?; println!("Waiting clients on port {}...", port); #[async] for (stream, addr) in listener.incoming() { let address = format!("[address : {}]", addr); println!("New client: {}", address); handle.spawn(handle_client(stream)); println!("Waiting another ...