Пример использования gRPC:
Рассмотрим простой пример использования gRPC для создания клиент-серверного приложения на Python.
1. Определение сервиса и сообщений в файле example.proto с использованием синтаксиса Protocol Buffers:
2. Генерация кода на основе файла example.proto с помощью компилятора Protocol Buffers:
3. Создание сервера на Python с использованием gRPC:
4. Создание клиента на Python с использованием gRPC:
Рассмотрим простой пример использования gRPC для создания клиент-серверного приложения на Python.
1. Определение сервиса и сообщений в файле example.proto с использованием синтаксиса Protocol Buffers:
syntax = "proto3";
message HelloRequest {
string name = 1;
}
message HelloResponse {
string message = 1;
}
service Greeter {
rpc SayHello (HelloRequest) returns (HelloResponse);
}
2. Генерация кода на основе файла example.proto с помощью компилятора Protocol Buffers:
protoc -I=. --python_out=. --grpc_python_out=. example.proto
3. Создание сервера на Python с использованием gRPC:
import grpc
import example_pb2
import example_pb2_grpc
class GreeterServicer(example_pb2_grpc.GreeterServicer):
def SayHello(self, request, context):
return example_pb2.HelloResponse(message=f"Hello, {request.name}!")
def serve():
server = grpc.server(grpc.insecure_server())
example_pb2_grpc.add_GreeterServicer_to_server(GreeterServicer(), server)
server.add_insecure_port('[::]:50051')
server.start()
server.wait_for_termination()
if name == 'main':
serve()
4. Создание клиента на Python с использованием gRPC:
import grpc
import example_pb2
import example_pb2_grpc
def run():
channel = grpc.insecure_channel('localhost:50051')
stub = example_pb2_grpc.GreeterStub(channel)
response = stub.SayHello(example_pb2.HelloRequest(name='world'))