4

所以我们想用 C++ 构建一个服务器/客户端系统,我不清楚谷歌协议缓冲区或节俭是否会让我们更快地得到一个工作原型。我们希望使用 TCP 套接字作为通信层,用于通过本地子网(而不是通过广泛的 Internet)进行通信。它将在 Linux/OS X/Windows 上运行。

我们主要需要在每个方向上传递简单的异步消息,但将来我们可能需要 RPC 样式的响应。我们的大多数消息都很小,但有些消息将具有大约 100k-500k 的大负载(如果我们必须在 IDL 中调用它们,那将只是一个伴随消息的大不透明缓冲区)。

我知道我们想要它们都提供的消息描述符/编组/解组,但我不清楚最快构建工作服务器/客户端所需的其他部分。

我是否正确收集了 thrift 为 TCP/IP 套接字通信提供实现以发送和接收消息,而协议缓冲区只处理编组层并且对套接字一无所知?

如果确实如此,那么使用 Protocol Buffers,您必须在其上编写一个迷你协议,以将一些页眉和/或页脚包裹在消息周围,以识别一个停止的位置和下一个开始的位置通过套接字(如果某些东西比预期的长/短,那么重新同步的更困难的问题)。是否有提供这些层的开源软件包(最好使用boost::asio)?

4

0 回答 0