如何在grpc中为服务器添加init函数?

时间:2020-10-29 11:53:55

标签: c++ grpc rpc

我正在使用gRPC编写C / S演示。现在,我想在服务器中初始化一些线程局部变量。我知道如何向客户端调用的服务器添加功能。但是我不希望客户端在服务器设置后调用initad的initad函数。

我在服务器中的代码如下:

void RunServer(){
    printf("threadID:%ld\n",total_sz,syscall(SYS_gettid));
    std::string server_address("0.0.0.0:50051");
    myServer service;
    ServerBuilder builder;
    builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
    builder.RegisterService(&service);
    std::unique_ptr<Server> server(builder.BuildAndStart());
    std::cout << "Server listening on " << server_address << std::endl;
    server->Wait(); 
}

int main(int argc, char** argv){
    RunServer();
    return 0;
}

但是客户端调用的那些函数位于其他线程中,而不是与“ main”函数所在的线程相同。

0 个答案:

没有答案