Использование библиотеки Paho mqtt js в основном приложении asp.net - PullRequest
0 голосов
/ 03 июля 2019

У меня есть проблема при открытии веб-сокета для моего брокера от комаров. Я использую клиентскую библиотеку 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 *enter image description here

И мой конфигурационный файл комаров

enter image description here

Кто-нибудь знает, как я могу сделать, чтобы это работало? Я думаю, что это связано с тем, что несколько сервисов и / или несколько пользователей пытаются открыть веб-сокет или что-то вроде этого. Я попробовал это с Chrome и Firefox. Любая помощь? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...