#pragma once #include #include #include #include #include #include #include #include #include #include "../pb/protobuf.grpc.pb.h" #include "opencv2/opencv.hpp" using grpc::Status; using grpc::Channel; using grpc::ClientContext; using grpc::ClientWriter; using grpc::ClientReader; using grpc::ClientReaderWriter; using namespace_uploadpic::Request; using namespace_uploadpic::Response; using namespace namespace_uploadpic; using grpc::ClientContext; class VisionClient; class rpcClient { public: //构造函数,创建一个频道,用于指向服务器 rpcClient(std::shared_ptrchannl) :stu_(upload_pic_servicer::NewStub(channl)) {} bool upload(cv::Mat img ,std::string user, std::string id ); void ListFeatures(); int getClientTime(); int getServerTime(); private: //这个是远程方法(API)的一个指针 std::unique_ptrstu_; int m_nClientTime = 0; int m_nServerTime = 0; };