定义proto文件
option java_package = "com.wy.web";
message my_message{
required string startedTime =1;
required string version=2;
required double configuredCapacity=3;
required double dfsUsed =4;
required int32 fileNum=5;
required int32 replicatedFilesNum =6;
required int32 blockNum =7;
required int32 livedNodeNum =8;
required int32 decommissioningNodeNum=9;
}
生成proto文件对应的类
windows:
protoc.exe --java_out=.\ infor.proto(注意'\'和文件名之间有空格,c++命令为protoc.exe --java_out==.\ infor.proto)
linux:
protoc -I=./ --java_out=./ infor.proto
#include <netinet/in.h> // for sockaddr_in
#include <sys/types.h> // for socket
#include <sys/socket.h> // for socket
#include <unistd.h>
#include <stdio.h> // for printf
#include <stdlib.h> // for exit
#include <string.h> // for bzero
#include <string>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/io/zero_copy_stream_impl_lite.h>
#include "infor.pb.h"
#define HELLO_WORLD_SERVER_PORT 8000
#define LENGTH_OF_LISTEN_QUEUE 20
#define BUFFER_SIZE 1024
#define FILE_NAME_MAX_SIZE 512
int main()
{
std::string time = "2015-06-25";
std::string version = "0.0.1";
double config = 2.0;
double dfs = 3.0;
int file = 1000;
int rep = 1000;
int block = 1000;
int live = 1000;
int de = 1000;
struct sockaddr_in server_addr;
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family = AF_INET;
serve