我有一个grpc服务器和客户端,大部分时间都能正常运行,但是偶尔会收到“传输正在关闭”错误:
rpc error: code = Unavailable desc = transport is closing
我想知道我的设置是否有问题。 客户端很基础
connection, err := grpc.Dial(address, grpc.WithInsecure(), grpc.WithBlock())
pb.NewAppClient(connection)
defer connection.Close()
并以类似超时的方式拨打电话
ctx, cancel := context.WithTimeout(ctx, 300*time.Millisecond)
defer cancel()
client.MyGRPCMethod(ctx, params)
我正在做的另一件事是检查连接来查看它是处于打开,空闲还是正在连接状态,如果有则重新使用该连接。 否则,请重拨。 p>
服务器没有任何特殊配置
grpc.NewServer()
设置grpc客户端/服务器时是否会遇到一些常见错误?