从c#到python和其他语言的protobuf-net或协议缓冲服务

时间:2012-01-18 21:10:58

标签: .net web-services protocol-buffers protobuf-net cross-language

我最近一直在关注protobuf-net和协议缓冲区,到目前为止它似乎令人印象深刻。我所想知道的是服务方面的事情。如果我已经理解了谷歌文档,你可以在.proto文件中声明服务。我的问题是

  1. 是否在protobuf-net或其他dotnet protobuf lib中实现了此服务支持?
  2. 服务支持是否完全跨语言,如协议缓冲区本身是什么?
  3. 根据.proto文件中声明的声明在另一端生成客户端有多难?
  4. 基本上我正在考虑使用protobuf设置基于web或tcp的服务,如果可能的话,在处理高容量时减少开销,protobuf看起来很理想,因为我的客户端通常用python,java,c ++和dotnet等语言混合实现。我真的想要一些容易让他们和我自己融入他们的应用程序的东西,因为我打算在内部使用protobuf,希望很容易集成到我这边。

    [编辑] 只是一些额外的信息code.google.com/apis/protocolbuffers/docs/proto.html#services 这就是我所讨论的服务类型,但我不确定langs真正支持它以及你真正从.proto文件中的声明中得到什么。

1 个答案:

答案 0 :(得分:3)

如果查看Third Party Add Ons页面,您会发现许多单独的RPC实现。但是,我不相信Google已经发布了RPC实现,我不确定第三方集合中是否有任何特别“标准化”的实现......你真的需要选择你喜欢的RPC机制,并且可能会做一些工作来实现它尚不存在的任何地方。

(免责声明:我在谷歌工作并拥有protobuf-csharp-port项目。但是,我不是代表谷歌写这个。这只是我个人的观点。)