From 8f92dc9d56d0d00d8cd7d9ea30fe69ce59cf1bf3 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 9 Sep 2016 00:10:54 -0700 Subject: [PATCH] Add a simple "hello" example --- examples/hello.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/hello.rs diff --git a/examples/hello.rs b/examples/hello.rs new file mode 100644 index 000000000..d5e2ffe3b --- /dev/null +++ b/examples/hello.rs @@ -0,0 +1,25 @@ +extern crate futures; +extern crate tokio_core; + +use futures::stream::Stream; +use tokio_core::reactor::Core; +use tokio_core::net::TcpListener; + +fn main() { + let mut core = Core::new().unwrap(); + let address = "127.0.0.1:8080".parse().unwrap(); + let listener = TcpListener::bind(&address, &core.handle()).unwrap(); + + let addr = listener.local_addr().unwrap(); + println!("Listening for connections on {}", addr); + + let clients = listener.incoming(); + let welcomes = clients.and_then(|(socket, _peer_addr)| { + tokio_core::io::write_all(socket, b"Hello!\n") + }); + let server = welcomes.for_each(|(_socket, _welcome)| { + Ok(()) + }); + + core.run(server).unwrap(); +}