【问题标题】:Create a grpc server as non blocking创建一个非阻塞的 grpc 服务器
【发布时间】:2020-04-20 18:24:36
【问题描述】:

我有一个方法 startServer() 可以启动一个简单的 cpp grpc 服务器。

我想让server->Wait() 调用非阻塞,无需处理维护完成队列或处理 RPC 调用的任何额外开销。

我研究了 grpc 服务器的异步风格,但没有找到任何简单的示例来执行此操作而不增加任何额外的开销。除了在单独的线程上运行之外,是否有任何简单/简单的方法可以使此函数非阻塞?

void GrpcIface::startServer() {
    std::string address("0.0.0.0:5000");
    GrpcIface service;
    grpc::ServerBuilder builder;
    builder.AddListeningPort(address, grpc::InsecureServerCredentials());
    builder.RegisterService(&service);    
    std::unique_ptr<grpc::Server> server(builder.BuildAndStart());
    std::cout << "GrpcIface :: Server listening on port: " << address << std::endl;
    server->Wait();
}

【问题讨论】:

    标签: c++ grpc


    【解决方案1】:

    如果我错了,请纠正我,但我不认为Wait() 是强制性的。至少在源代码code 中看起来不像。或者你的意思是什么

    无需处理维护完成队列或处理 RPC 调用的任何额外开销。

    ?

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 2018-01-04
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多