1//! A simple client that opens a TCP stream, writes "hello world\n", and closes
2//! the connection.
3//!
4//! To start a server that this client can talk to on port 6142, you can use this command:
5//!
6//! ncat -l 6142
7//!
8//! And then in another terminal run:
9//!
10//! cargo run --example hello_world
11
12#![warn(rust_2018_idioms)]
13
14use tokio::io::AsyncWriteExt;
15use tokio::net::TcpStream;
16
17use std::error::Error;
18
19#[tokio::main]
20pub async fn main() -> Result<(), Box<dyn Error>> {
21 // Open a TCP stream to the socket address.
22 //
23 // Note that this is the Tokio TcpStream, which is fully async.
24 let mut stream = TcpStream::connect("127.0.0.1:6142").await?;
25 println!("created stream");
26
27 let result = stream.write_all(b"hello world\n").await;
28 println!("wrote to stream; success={:?}", result.is_ok());
29
30 Ok(())
31}
32