grpcclient.go 839 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package client
  2. import (
  3. "context"
  4. "fmt"
  5. "io"
  6. pb "test/grpctest/proto"
  7. )
  8. //接受服务端返回的流
  9. func getStream(client pb.ObjectStorageServiceClient){
  10. stream, err := client.GetStream(context.Background(),&pb.ReqData{
  11. Data: "shuai",
  12. })
  13. if err != nil {
  14. fmt.Println("error:",err.Error())
  15. return
  16. }
  17. for {
  18. repData,err := stream.Recv()
  19. if err != nil {
  20. if err == io.EOF {
  21. fmt.Println("get response over")
  22. break
  23. }
  24. fmt.Println("get stream failed",err.Error())
  25. }
  26. fmt.Println("server return:",repData.Data)
  27. }
  28. }
  29. //向服务端发送流
  30. func setStream(client pb.ObjectStorageServiceClient){
  31. sendBuffer := []string {"hello","shuai","mei"}
  32. stream,err := client.SetStream(context.Background())
  33. if err != nil {
  34. fmt.Println("set stream failed")
  35. }
  36. if stream == nil {
  37. fmt.Println("stream is nil")
  38. }
  39. }