使用c++实现gRPC远程调用框架中传输文件,proto文件如下:
syntax = "proto3"; package transferfile; service TransferFile { rpc Upload(stream Chunk) returns (Reply) {} } message Chunk { bytes buffer = 1; } message Reply { int32 length = 1; }
对应的c++代码如下:
client端:
#include <iostream> #include <string> #include <fstream> #include <sys/time.h> #include <grpc/grpc.h> #include <grpc++/channel.h> #include <grpc++/client_context.h> #include <grpc++/create_channel.h> #include <grpc++/security/credentials.h> #include "transfer_file.grpc.pb.h" using grpc::Channel; using grpc::ClientContext; using grpc::ClientWriter; using grpc::Status; using transferfile::Chunk; using transferfile::Reply; using