1. 简介
2. C++
2.1 编译.proto生成.pb.h和.pb.cc
- grpc_cpp_plugin.exe生成
- 编译时.proto自动生成
服务器示例
客户端示例
3. C#
示例包下载地址:https://download.csdn.net/download/qq_43572400/88908127
3.1 导入NuGet程序包
编译.proto生成.cs和Grpc.cs
- grpc_csharp_plugin.exe生成
- 编译时.proto自动生成
protoc --csharp_out=D:\output_directory --grpc_out=D:\output_directory --plugin=protoc-gen-grpc=D:\tools\grpc\grpc_csharp_plugin.exe --proto_path=D:\output_directory compile_proto.proto
在这个示例中:
--csharp_out=D:\output_directory
指定生成的 C# 文件输出目录。--grpc_out=D:\output_directory
指定生成的 gRPC 文件输出目录。--plugin=protoc-gen-grpc=D:\tools\grpc\grpc_csharp_plugin.exe
指定 grpc_csharp_plugin.exe 插件的路径。--proto_path=D:\output_directory compile_proto.proto
是你的 .proto 文件的路径。
示例
static async Task test()
{
Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure);
var client = new TodoService.TodoServiceClient(channel);
var request = new TodoRequest { Task = "Do something" };
var response = client.SendTodo(request);
Console.WriteLine("Response: " + response.Message);
channel.ShutdownAsync().Wait();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
待增内容
远程调用框架