Kotlin / Java grp c проверить статус подключения - PullRequest
0 голосов
/ 06 мая 2020

Я пишу одно приложение в Kotlin для подключения к серверу grp c и получения данных.

Ниже мой фрагмент кода:

channel = ManagedChannelBuilder.forTarget("localhost:25001")
                .usePlaintext()
                .build()

stub = hello.HelloGrpc.newBlockingStub(channel)

My GRP C Сервер не работает , но я вижу значения для обеих переменных, как показано ниже:

for channel = channelManagedChannelOrphanWrapper{delegate=ManagedChannelImpl{logId=1, target=localhost:25001}}
for stub = channelhello.HelloGrpc$HelloBlockingStub@19b843ba

Я не понимаю, как проверить, не активно ли соединение.

Для теперь я добавил оператор try catch при извлечении значения, что вызывает у меня ошибку

UNAVAILABLE: io exception

Просто интересно, есть ли способ, которым я могу проверить состояние моего подключения и попытаться повторно подключиться, если подключение прервано.

1 Ответ

1 голос
/ 06 мая 2020

gRP C автоматически пытается повторно подключиться , используя экспоненциальную отсрочку. Просто продолжайте использовать канал, и go ошибки исчезнут, когда проблема будет решена.

Если вас интересует текущий статус подключения канала, вы можете использовать ManagedChannel.getState () .

...