在Java中将gRPC服务绑定到localhost

时间:2016-11-15 21:04:05

标签: java grpc grpc-java

我有一个gRPC服务,我只想绑定到localhost地址。但是,我没有在Java中看到这样做的方法。相反,它将绑定到所有地址。

以下是我现在创建服务的方式:

server = ServerBuilder.forPort(config.port())
                      .addService(new GRPCServiceImpl(serviceParams))
                      .build()
                      .start();
LOG.info("Server started, listening on " + config.port());

似乎不是ServerBuilderServer上公开的API,它允许指定地址或网络接口。而C ++ API有AddListentingPort

那么在Java中是否有办法限制服务侦听哪个IP或接口?

1 个答案:

答案 0 :(得分:6)

您可以通过选择更具体的ServerBuilder来完成此操作,例如NettyServerBuilder:

NettyServerBuilder.forAddress(new InetSocketAddress("localhost", config.port()))
    .addService(new GRPCServiceImpl(serviceParams))
    .build()
    .start();