package main import ( "io" "log" "research/grpc_msg_size/pb" ) type server struct{} func (s server) Test(stream pb.Test_TestServer) error { for { req, err := stream.Recv() if err == io.EOF { log.Println("recv eof") break } if err != nil { log.Println("recv error:", err) break } log.Println("recv len", len(req.Msg)) err = stream.Send(&pb.Response{Msg: msg}) if err != nil { log.Println("send error:", err) } log.Println("send msg", len(msg)) } return nil } var msg string func init() { var buf []byte for i := 0; i < 1024*1024*1024; i++ { buf = append(buf, '1') } msg = string(buf) }