google protobuf和gRPC的关系?
具体protobuf是怎么用的我知道,这个不需要解释,我是在protobuf2.6的时候就一直在使用protobuf,当时使用了它的message序列化和反序列化,用使用了service做rpc的接口。当时使用python直接导出,然后自己实现rpc。可是最近再研究,发现这个service的rpc接口属于gRPC?protobuf只包含序列化反序列化?瞬间懵逼了,因为我想用c#导出在untiy上用,用跟python同样的导出方式,无法导出rpc。只能导出message。所以有此疑问。 protobuf可以把结构体序列化成二进制,也可以把对应二进制反序列化回结构体。说白了pb单纯就是做编解码。你可以把你程序中的一些对象用pb序列化,然后存到本地文件,过一会儿再读取文件,然后恢复出那些对象。
grpc是网络通信框架,在网络通信时,你也会发送和接收数据。收发的数据使用protobuf进行编解码(当然它也可以使用其它的编解码方式,比如thrift、JSON,也可以自己造轮子,比如Go的gob)当然grpc作为一个rpc框架,数据的编解码只是其中一小部分,还有很多其它的工作需要处理,参见各种其它框架
页:
[1]