1 pub mod pb { 2 tonic::include_proto!("grpc.examples.echo"); 3 } 4 5 use pb::{echo_client::EchoClient, EchoRequest}; 6 7 #[tokio::main] 8 async fn main() -> Result<(), Box<dyn std::error::Error>> { 9 let mut client = EchoClient::connect("http://[::1]:50051").await.unwrap(); 10 11 let stream = client 12 .server_streaming_echo(EchoRequest { 13 message: "foo".into(), 14 }) 15 .await 16 .unwrap(); 17 18 println!("Connected...now sleeping for 2 seconds..."); 19 20 tokio::time::sleep(std::time::Duration::from_secs(2)).await; 21 22 // Disconnect 23 drop(stream); 24 drop(client); 25 26 println!("Disconnected..."); 27 28 Ok(()) 29 } 30