mirror of
				https://github.com/tokio-rs/tokio.git
				synced 2025-11-03 14:02:47 +00:00 
			
		
		
		
	Related to #1318, Tokio APIs that are "less stable" are moved into a new `tokio-util` crate. This crate will mirror `tokio` and provide additional APIs that may require a greater rate of breaking changes. As examples require `tokio-util`, they are moved into a separate crate (`examples`). This has the added advantage of being able to avoid example only dependencies in the `tokio` crate.
		
			
				
	
	
		
			34 lines
		
	
	
		
			813 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			813 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//! Hello world server.
 | 
						|
//!
 | 
						|
//! A simple client that opens a TCP stream, writes "hello world\n", and closes
 | 
						|
//! the connection.
 | 
						|
//!
 | 
						|
//! You can test this out by running:
 | 
						|
//!
 | 
						|
//!     ncat -l 6142
 | 
						|
//!
 | 
						|
//! And then in another terminal run:
 | 
						|
//!
 | 
						|
//!     cargo run --example hello_world
 | 
						|
 | 
						|
#![warn(rust_2018_idioms)]
 | 
						|
 | 
						|
use tokio::io::AsyncWriteExt;
 | 
						|
use tokio::net::TcpStream;
 | 
						|
 | 
						|
use std::error::Error;
 | 
						|
 | 
						|
#[tokio::main]
 | 
						|
pub async fn main() -> Result<(), Box<dyn Error>> {
 | 
						|
    // Open a TCP stream to the socket address.
 | 
						|
    //
 | 
						|
    // Note that this is the Tokio TcpStream, which is fully async.
 | 
						|
    let mut stream = TcpStream::connect("127.0.0.1:6142").await?;
 | 
						|
    println!("created stream");
 | 
						|
 | 
						|
    let result = stream.write(b"hello world\n").await;
 | 
						|
    println!("wrote to stream; success={:?}", result.is_ok());
 | 
						|
 | 
						|
    Ok(())
 | 
						|
}
 |