LINUX.ORG.RU

proxy with gRPC

 ,


0

1

А можно ли как-то в 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;
}

Ответ на: комментарий от fffafasnow

А зачем ты искал в апи grpc сырой сокет? Если из апи торчат кишки, то это херовое апи. Просто открой соединение и обменивайся по нему протобафом по тому протоколу, который тот сервер поддерживает. Тем более, что у grpc транспорт http/2, а у того твоего сервера может быть что угодно. «Можно» в моем ответе означает, что тебе нужно взять любую подходящую библиотеку и в три строки отправить запрос.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Казалось бы нужен сокет и протобуфер и нафиг подключать еще какие-то билиотеки.

fffafasnow
() автор топика
Ответ на: комментарий от cdshines

тебе нужно взять любую подходящую библиотеку и в три строки отправить запрос

смотрю я ты проффесионал-теоретик по SSL Sockets

fffafasnow
() автор топика
Ответ на: комментарий от fffafasnow

А в чем проблема? 2020 год на дворе, если тебе для отправки запроса нужно больше 3 строк, то ты еще в 2007.

cdshines ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.