SignalR во флаттере получает ошибку Нет протокола
Я использую паб-пакет signalr_flutter в приложении flutter, и у меня есть SignalR(построенный на платформе .Net), который отлично работает в браузере. Но когда я пытаюсь подключить SignalR от флаттера, появляется ошибка
no protocol: dev.mysignalr.com/signalr/negotiate?clientProtocol=1.3&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D
фрагмент кода дротика
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {
signalR = SignalR('dev.mysignalr.com', "ChatHub",
hubMethods: ["Send"],
//headers: hed,
statusChangeCallback: _onStatusChange,
hubCallback: _onNewMessage);
}
1 ответ
Я столкнулся с этой ошибкой из-за неполного URL-адреса, я решил это, используя полный URL-адрес вместе с http, например:
signalR = SignalR('http://192.168.0.2:8083', "ChatHub",
hubMethods: ["ReceiveOne"],
statusChangeCallback: (status) => print(status),
hubCallback: (methodName, message) =>
print('MethodName = $methodName, Message = $message'));