如何使用协议缓冲区?

mak*_*ake 7 c c++ gcc protocol-buffers visual-c++

有人可以帮忙告诉我如何使用协议缓冲区.实际上我想通过在unix上运行的程序和在windows上运行的另一个程序之间的套接字交换数据,以便运行模拟研究.

使用套接字交换数据的程序是用C/C++编写的,如果somne​​one可以帮助我使用协议缓冲区以便以下列形式交换数据,我会很高兴:

struct snd_data{
    char *var="temp";
    int var1=1;
    float var2;
    double var2;
}
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,但数据仍未正确交换.任何帮助将非常感激

谢谢你的帮助,

Dou*_*der 13

首先在.proto文件中定义消息:

package foo;

message snd_data {
  required string var= 1;
  required int32 var1 = 2;
  optional float var2 = 3;
  optional double var3 = 4;
}
Run Code Online (Sandbox Code Playgroud)

(我猜浮动和双重实际上是不同的变量...)

然后你使用编译它protoc,然后你有代码实现你的缓冲区.

有关详细信息,请参阅:http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html

  • 按照我包含的链接 - 这是一个涵盖使用C++协议缓冲区的教程. (2认同)