<img width="3308" height="852" alt="Image" src="https://github.com/user-attachments/assets/79a3fde0-c9de-49cf-97ca-463924dde86d" /> 这是我在本地启动的一个volo-grpc server,端口50051,用brpc的c++client去调用,本地抓包分析来看: 1. server配置如下: ```rust ...... #[derive(Clone, Default)] struct HelloSvc; impl hello_pb::HelloService for HelloSvc { async fn hello( &self, req: Request<hello_pb::HelloRequest>, ) -> Result<Response<hello_pb::HelloReply>, Status> { let name: &str = req.get_ref().name.as_ref(); let preview: String = name.chars().take(10).collect(); println!( "Received Hello request: name length={}, preview='{}'", name.chars().count(), preview ); let ok = is_valid_name(name); Ok(Response::new(hello_pb::HelloReply { ok })) } } fn is_valid_name(name: &str) -> bool { !name.trim().is_empty() } #[volo::main] async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> { let addr: SocketAddr = "[::]:50051".parse()?; let addr = Address::from(addr); Server::new() .http2_adaptive_window(true) .http2_init_connection_window_size(1024u32 * 1024) .http2_init_stream_window_size(1024u32 * 1024) .http2_max_frame_size(1024u32 * 1024) .http2_max_send_buf_size(1024usize * 1024) .add_service(ServiceBuilder::new(hello_pb::HelloServiceServer::new(HelloSvc)).build()) .run(addr) .await?; Ok(()) } ``` 2. 建立连接后,server向client发送一个No=4的报文,上面的WindowSize是65536 看着和server配置的http2_init_connection_window_size和http2_init_stream_window_size并不一样,想咨询下是我的用法有问题,还是volo-rpc框架不支持配置
Activity