Я заставляю его работать с предоставленным вами решением. Извините, я не раскрыл точные детали, почему ваш путь не сработал, и этот сработал. Также я не смог протестировать iOs версию.
Сервер . Я изменил только версию порта. Я использовал релизную версию. Кстати, я не уверен, насколько успешно вы могли бы запустить Http1AndHttp2 и тот же IP и порт. У меня были проблемы с личным проектом.
Мобильный Добавлено Grp c .Core и Grp c .Core.Api nugets to оба проекта.
Я создаю канал по-разному. Версия вашего решения
var channel = GrpcChannel.ForAddress("123.123.123.123:123456");
Моя версия изменена на
var channel = new Channel("123.123.123.123:123456", ChannelCredentials.Insecure);
Это не очень безопасная версия, но она может работать некоторое время, поскольку http2 уже является двоичным. Создайте и используйте безопасный способ подписи сертификата и используйте его на сервере и клиенте. Хороший пример - здесь
Также я рекомендую повторно использовать каналы, поскольку создавать новые дорого. Http2 хорош для хранения нескольких клиентов в одном потоке. Вы можете воссоздать клиентов, что является дешевой операцией.