SignalR v2.3.0 в Android - PullRequest
       15

SignalR v2.3.0 в Android

0 голосов
/ 04 июля 2018

У меня есть приложение MVC .NET, которое использует signalR.

Я пытался скачать этот клиент: https://github.com/Gurgen/SignalR-.net-core-android-client

Я запустил его на своем устройстве. Нажал кнопку подключения. Но продолжал получать исключение.

Отладка я обнаружил, что мне пришлось изменить эту строку

String connectionId = jsonElement.getAsJsonObject().get("connectionId").getAsString();

к этому

String connectionId = jsonElement.getAsJsonObject().get("ConnectionId").getAsString();

Я уже начинаю чувствовать, что этот клиент не поддерживает v2.3.0 библиотеки SignalR в моем приложении .NET. В любом случае следующее исключение вызвано этой строкой:

JsonElement availableTransportsElements = jsonElement.getAsJsonObject().get("availableTransports");

Я посмотрел на JSON, возвращенный SignalR, и нет такого элемента, как "availableTransports". Вот что вернуло

 { "Url":"/signalr/hubs/auth","ConnectionToken":"zzK0SAWXNEB1pLY2VYHWPYTMcyJIX8PnhKfLRP9fij5xbY2jDIaDyKuZQa5RvHt+KSe6h1PD9JC+RL7V2nhPzevktK781hL7ndAnZqAe3E12GawCVddFUI4R9FLDE//L","ConnectionId":"9cb5ff73-14d3-4e59-8b14-d92e47bbe948","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"ConnectionTimeout":110.0,"TryWebSockets":false,"ProtocolVersion":"1.2","TransportConnectTimeout":5.0,"LongPollDelay":0.0 }

Хорошо, мой вопрос, кто-нибудь использовал эту библиотеку? Или есть другая библиотека Android, которую я могу использовать, которая совместима? Я новичок в SignalR, но с того сервера, который был отправлен, приложение .NET поддерживает веб-сокеты? Я хочу, чтобы мой Android-клиент подключался с помощью веб-сокетов.

UPDATE

ОК. Я обнаружил, что в IIS не установлена ​​функция протокола WebSocket. Я сделал это сейчас, и теперь это то, что возвращается, однако клиент все еще не может подключиться к нему.

{ "Url":"/signalr/hubs/auth","ConnectionToken":"6CkVnCK9KmbDemtXY/S+zCyBUdaYbaK8WmQxIw6+JxjeEzWCP7BPTiItqgvzu+hhaf6kIS4NlPln8LJLfS95UbUG4rF/8C6Y5D7eq2aKCLEU6up/c4l8YvMKheodRsKy","ConnectionId":"abe2cdca-e237-4cbd-8523-98af8c864b9b","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"ConnectionTimeout":110.0,"TryWebSockets":true,"ProtocolVersion":"1.2","TransportConnectTimeout":5.0,"LongPollDelay":0.0}

Это на шаг ближе, поскольку теперь TryWebSockets верен.

...