У меня есть приложение Ionic, и я хочу, чтобы оно подключалось к моей розетке.Это хорошо сработало в предварительном просмотре SignalR, но по-прежнему работает, но по какой-то причине подключение занимает 2 минуты ...
Iтакже получаю некоторые ошибки при подключении:
Это мой код JavaScript:
ngOnInit() {
const connection = new signalR.HubConnectionBuilder()
.withUrl("http://192.168.178.11:8040/socket?sessionId=3dc1dc11")
.build();
connection.on("ReceiveMessage", message => {
console.log(message);
this.zone.run(() => {
if(this.locked == true) {
this.locked = false
} else {
this.locked = true;
}
});
console.log(this.locked);
});
connection.start().catch(err => console.error);
}
Это мой хаб:
public class DeviceHub : Hub
{
public override Task OnConnectedAsync()
{
var sessionId = Context.GetHttpContext().Request.Query["sessionId"];
return Groups.AddToGroupAsync(Context.ConnectionId, sessionId);
}
}
И это моя конфигурация в Startup.cs:
app.UseSignalR(routes =>
{
routes.MapHub<DeviceHub>("/socket");
});
Теперь мой вопрос: как мне это решить?
РЕДАКТИРОВАТЬ 1:
Задержка перед вызовом метода OnConnectedAsync()
.
РЕДАКТИРОВАНИЕ 2:
Еще одна вещь, которую я должен добавить, это то, что он напрямую выполняет запрос к моему API:
ws://192.168.178.11:8040/socket?sessionId=3dc1dc11&id=Pt-JDlSPq2_WEIl-8cdPZA
И этот запрос занимает ровно две минуты.
РЕДАКТИРОВАТЬ 3:
Еще одна вещь, на которую я хотел бы обратить внимание, это то, что я использую прокси.Я не могу подключиться напрямую с телефона к API, поэтому для него я использую прокси .Я понятия не имею, имеет ли это какое-либо отношение к этому, но я просто хотел указать это на всякий случай.