also added client

This commit is contained in:
ghe0 2025-02-02 02:47:57 +02:00
parent f89b0f8a81
commit de2d6ea8f5
Signed by: ghe0
GPG Key ID: 451028EE56A0FBB4

@ -1,5 +1,38 @@
mod grpc;
use tokio_stream::{self as stream};
use tonic::Request;
fn main (){
println!("Hello! I am a client!");
use grpc::dummy::{test_service_client::TestServiceClient, Empty, SomeRequest, StreamRequest};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = TestServiceClient::connect("http://[::1]:50051").await?;
let request =
Request::new(SomeRequest { what_client_sends: String::from("Hello from client!") });
let response = client.get_something(request).await?;
println!("Unary response: {:?}", response.get_ref().what_server_sends);
let messages = vec![
StreamRequest { what_client_sends: "Client stream #1".to_string() },
StreamRequest { what_client_sends: "Client stream #2".to_string() },
StreamRequest { what_client_sends: "Client stream #3".to_string() },
];
let outbound = stream::iter(messages);
let response = client.client_messages(Request::new(outbound)).await?;
println!("Client streaming response: {:?}", response.get_ref());
let mut stream = client.server_messages(Request::new(Empty {})).await?.into_inner();
println!("Server streaming messages:");
while let Some(item) = stream.message().await? {
println!(" -> {}", item.what_server_sends);
}
println!("Server stream ended.");
Ok(())
}