» gRPC快速入门:Node.js » 4. 创建 server » 4.2 启动 server

启动 server

一旦我们实现了所有的方法,我们还需要启动一个 gRPC 服务器,以便客户端可以使用我们的服务。 以下代码片段显示如何为 RouteGuide 服务执行此操作:

function getServer() {
  var server = new grpc.Server();
  server.addService(routeguide.RouteGuide.service, {
    getFeature: getFeature,
    listFeatures: listFeatures,
    recordRoute: recordRoute,
    routeChat: routeChat
  });
  return server;
}
var routeServer = getServer();
routeServer.bindAsync('0.0.0.0:50051', grpc.ServerCredentials.createInsecure(), () => {
  routeServer.start();
});

如你所见,我们使用如下步骤来构建和启动服务器:

  1. RouteGuide 服务描述符创建一个 server 构建函数。
  2. 实现服务方法。
  3. 携带所有实现的方法调用 server 构建函数以创建服务器的实例。
  4. 使用实例的 bindAsync() 方法绑定地址和端口,用来监听客户端请求。
  5. 调用实例的 start() 方法来启动 RPC 服务器。