上一篇我们写了服务端端流式的grpc的调用过程,这篇接上篇写一下双向流式 grpc
目录

protofile 目录是proto文件与生成go代码的命令proto.bat
product.proto
syntax = "proto3";
option go_package = "../service";
package service;
message ProductRequest{
int32 prod_id = 1;
}
message ProductResponse{
int32 prod_socket = 1;
}
//定义服务
service ProdService{
//双向流
rpc GetProdSocket(stream ProductRequest)returns(stream ProductResponse);
}
proto.bat 命令
protoc --go_out=./ --go-grpc_out=./ .\product.proto
业务逻辑
server目录写的是服务端流式的业务逻辑
package main
import (
"google.golang.org/grpc"
"grpc-stream/service"
"io"
"log"
"net"
)
type ProductService struct {
*service.UnimplementedProdServiceServer
}
var productService = ProductService{
}
func (p ProductService) GetProdSocket(stream service.ProdService_GetProdSocketServer)

本文继续上一篇关于服务端流式gRPC的内容,重点介绍如何实现双向流式gRPC。文章通过`product.proto`定义服务,并使用`proto.bat`命令生成Go代码。在server目录中,展示了服务端的流式业务逻辑,而在client目录,则详细说明了客户端如何接收并处理服务端流式返回的信息。
最低0.47元/天 解锁文章
1309

被折叠的 条评论
为什么被折叠?



