代码之家  ›  专栏  ›  技术社区  ›  buttercup

C++客户端和C端后端的协议缓冲区?

  •  2
  • buttercup  · 技术社区  · 15 年前

    如何通过HTTP或Web服务等价的将C后端与C++前端连接起来?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Marc Gravell    15 年前

    这里有三个部分:服务器(听起来像C.*),客户端(听起来像C++)和传输。把它们分开,从最重要的开始:

    • 传输:这里的重大决定是您希望数据处于什么形状。您提到了协议缓冲区,所以我们说的是二进制的,但可能是:

      • 原始八位字节流(想想:从Web服务器下载图像)
      • 返回流或字节[]的SOAP Web服务
      • 返回mtom的同一个SOAP Web服务

      任何一个都可以工作;选择哪一个取决于可用的工具。重要的是:在电线上放一块二进制文件。

      此时还需要考虑数据定义;a .proto file 可以定义您的模式,并且大多数协议缓冲区实现都包含一个生成匹配类的工具。

    • 服务器:根据上面的选择,这要么是一个处理程序( IHttpHandler )或Web服务类。不管怎样,他们的工作实际上是运行一些逻辑并返回一个字节流。如何获得数据取决于你自己,最终工作是 填充DTO类型(在许多情况下由.proto生成,但不是 严格地 必要时)并通过序列化API运行,将结果写入流
    • 客户机:反过来也一样;从.proto生成DTO,然后通过反序列化API运行它。

    列出了各种原型BuffBF实现(C++、C等)。 here .

        2
  •  0
  •   Femaref    15 年前

    C++通过您所选择的表单(WebService和其他)的HTTP请求访问后端的暴露部分。