Как зарегистрировать подключение клиента к серверу для gRPC?

Как зарегистрировать подключение клиента к серверу для gRPC?

Это происходит в случае, когда клиент подключен, я должен иметь возможность получить некоторую базовую информацию, такую ​​как IP, версия и зарегистрировать ее.

DATETIME соединение из 192.168.1.1 AppName

Связано с версией интерфейса gRPC / Protobuf


person Paul Verest    schedule 11.11.2016    source источник


Ответы (1)


Сегодня IP-адрес и версия доступны для каждого RPC, но не при подключении клиента. Вы можете использовать serverCall.attributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR) для получения IP-адреса, и версия будет включена в User-Agent метаданные.

Проблема 2312 (v1.1) добавит механизм уведомления о новых соединения. У него будет доступ к IP-адресу клиента, но он не будет знать версию клиента. Версия клиента известна только для каждого RPC из-за таких вещей, как прокси.

person Eric Anderson    schedule 14.11.2016
comment
Что такое на основе RPC? Это внутри вызова rpc на сервере? - person Paul Verest; 14.11.2016
comment
При обслуживании определенного RPC сервер мог определить версию клиента. Но версия не известна, когда соединение установлено, и одно соединение может включать запросы от нескольких разных клиентов (и, следовательно, нескольких разных версий). - person Eric Anderson; 23.11.2016
comment
одно соединение может включать запросы от нескольких разных клиентов. Мне ужасно не хватало этого базового материала. Вы можете указать точную страницу с документами? - person Paul Verest; 24.11.2016
comment
На самом деле этого нет в документации, потому что это не клиенты смешивания gRPC, а gRPC в настоящее время не имеет функций, в которых важно различие. Смешение клиентов происходит от обратных прокси, таких как nghttpx, что является очень распространенным случаем при обслуживании HTTP. - person Eric Anderson; 28.11.2016