А можно ли как-то в gRPC воспользоваться отдельно сокетам и протобуфером, дополнительно к серверному grpc функционалу. Мне нужно сделать RPC прокси к некоторому серваку, который не RPC, но сообщения передает и принимает в виде protobuf???
Т.е. есть gRPC сервер, и прямо внутри методов я вызваю сокет, который связывается с настоящим сервером.
Ну вот как то так:
class GreeterServiceImpl final : public QObject, public Greeter::Service {
Q_OBJECT
public:
Status SayHello(ServerContext* context, const HelloRequest* request, HelloReply* reply);
SomeGrpcSslSock sock;
};
Status GreeterServiceImpl::SayHello(ServerContext* context, const HelloRequest* request, HelloReply* reply)
{
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
sock.connectToHost("www", 12345);
// ...
return Status::OK;
}