# grpc-bidirectional-stream **Repository Path**: MG_Long/grpc-bidirectional-stream ## Basic Information - **Project Name**: grpc-bidirectional-stream - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-27 - **Last Updated**: 2024-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # grpc-bidirectional-stream ## 简介 本项目旨在通过gRPC双向流来实现通信链路的反转 ## 使用 服务端 ``` go // 启动一个服务端 server := services.NewGrpcServer("127.0.0.1:10086", app.Callback) server.Start() ... // 转发请求到客户端 server.Request(user, params, apis.StreamMessage_REQUEST_TYPE, 0) ``` 客户端 ``` go server := services.NewGrpcClient("127.0.0.1:10086", context.Background(), app.Callback) server.Start() ... // 接收处理服务端请求 func (s *App) Callback(message *apis.StreamMessage) { // 业务处理 ... // 将业务处理结果响应给服务端 _, err = s.gs.Request(data, nil, apis.StreamMessage_RESPONSE_TYPE, message.RequestId) if err != nil { return } } ```