我试图遵循这里找到的静态codegen示例,用于node / grpc示例。我正在使用自己的原型文件,但其余的代码应该看起来很熟悉。
‘使用严格’……
该错误消息表明消息序列化(将传递给gRPC的消息对象转换为二进制数据)失败。这通常是因为消息对象与预期的消息类型不匹配或者无效。此故障的错误消息在客户端或服务器上当前是相同的,因此它不直接指示应该责怪哪个。
在该特定代码示例中,只有两行代码可以触发错误: call.write(request); 在客户端代码和 call.write(response); 在服务器代码中。所以这里最可能出现的问题是这些对象中的一个出现问题,或者其中一个对象的类型与方法签名表明它应该具有的类型不同。
call.write(request);
call.write(response);
服务器发送的消息由客户端发送的消息触发,因此缩小问题所在的一种方法是删除 call.write(response) 服务器代码中的行。如果仍然出现错误,则问题出在客户端上,如果不是,则问题出在服务器上。
call.write(response)