如何解决如何知道收到 gRPC 请求的端口
我有一个 C++ gRPC 服务,它使用以下 RPC 侦听多个端口 55555
、44444
和 44888
:
message FooRequest { string message = 1; }
message FooResponse { string message = 1; }
service FooService {
rpc FooRpc(FooRequest) returns (FooResponse) {}
}
我通过调用 API grpc::ServerBuilder::AddListeningPort(...)
来添加多个监听端口
所以我的服务的客户端可以在这些端口中的任何一个调用 RPC。我想知道在服务端,RPC是在哪个端口收到的,可以吗?
Status FooRpc(ServerContext* context,const FooRequest* request,FooResponse* response) override {
// how to kNow the port at which this RPC was received?
return Status::OK;
}
我想对在不同端口上接收的 RPC 使用不同类型的身份验证。端口 55555 仅在设备内公开(进程间通信),因此在其上收到的请求不需要身份验证。端口 44888 暴露在互联网上,因此我们希望对在其上收到的请求进行基于证书的身份验证。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。