У меня есть проблема при открытии веб-сокета для моего брокера от комаров. Я использую клиентскую библиотеку JQ MQTT, открывая веб-сокет между моим браузером и брокером Mosquitto. В моем веб-приложении у меня есть аутентификация пользователей. Когда у меня не было аутентификации пользователя, мой веб-сокет работал нормально, но теперь я просто хочу, чтобы аутентифицированные пользователи могли видеть некоторые данные. Мой код js следующий:
console.log("clientId" + parseInt(Math.random() * 100))
client = new Paho.Client("my_ip", my_port, "clientId" + parseInt(Math.random() * 100));
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
client.connect({
userName: "mosquitto",
password: "moSquitto#52891",
onSuccess: onConnect
});
function onConnect() {
// Once a connection has been made, make a subscription and send a message.
console.log("onConnect");
client.subscribe("ExtDataCE");
client.subscribe("ExternDataTrain");
client.subscribe("InfoMarker");
}
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0) {
console.log("onConnectionLost:" + responseObject.errorMessage + " ErrorCode = " + responseObject.errorCode);
}
}
function onMessageArrived(message) {
//whatever
}
Мой контроллер выглядит так:
[Authorize]
public class HomeController : Controller
{
public async Task<IActionResult> Map()
{
return View("Map");
}
}
Когда я запускаю этот код отдельно, он работает нормально, но когда я запускаю этот код с аутентифицированным пользователем, моя ошибка заключается в следующем:
Сбой подключения WebSocket к 'ws: // ipaddress: port / mqtt': соединение закрыто до получения ответа на рукопожатие
Это мой файл mosquitto.log
* +1012 *
И мой конфигурационный файл комаров
Кто-нибудь знает, как я могу сделать, чтобы это работало? Я думаю, что это связано с тем, что несколько сервисов и / или несколько пользователей пытаются открыть веб-сокет или что-то вроде этого. Я попробовал это с Chrome и Firefox.
Любая помощь? Спасибо