// 导入必要的 gRPC 和 Protobuf 库
import io.grpc.Server;
import io.grpc.ServerBuilder;
import io.grpc.stub.StreamObserver;
import java.io.IOException;
// 定义一个简单的 gRPC 服务接口
public class GrpcJavaExample {
// 定义一个实现类,用于处理 gRPC 请求
public static class MyService extends MyServiceGrpc.MyServiceImplBase {
@Override
public void sayHello(HelloRequest req, StreamObserver<HelloResponse> responseObserver) {
String message = "Hello " + req.getName();
HelloResponse reply = HelloResponse.newBuilder().setMessage(message).build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
}
}
// 启动 gRPC 服务器
public static void main(String[] args) throws IOException, InterruptedException {
Server server = ServerBuilder.forPort(8080)
.addService(new MyService())
.build()
.start();
System.out.println("Server started, listening on port 8080");
server.awaitTermination();
}
}
MyService
类实现了 MyServiceGrpc.MyServiceImplBase
接口,该接口是根据 .proto
文件生成的。sayHello
方法接收一个 HelloRequest
对象,并返回一个 HelloResponse
对象。它通过 StreamObserver
将响应发送回客户端。main
方法中,创建并启动了一个 gRPC 服务器,监听 8080 端口。这段代码展示了如何使用 gRPC 在 Java 中创建一个简单的服务器端应用程序。
下一篇:java8 新特性
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站