在asp.net核心应用程序中使用Paho mqtt js库

时间:2019-07-03 12:08:20

标签: javascript mqtt

为我的蚊子经纪人打开Web套接字时出现问题。我正在使用js MQTT客户端库在浏览器和mosquitto代理之间打开Web套接字。在我的Web应用程序中,我具有用户身份验证。当我没有用户身份验证时,我的Web套接字可以正常工作,但是现在我只希望经过身份验证的用户能够看到一些数据。我的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");
    }
}

当我分开运行此代码时,它可以正常工作,但是当我通过用户身份验证运行此代码时,我的错误如下:

与'ws:// ipaddress:port / mqtt'的WebSocket连接失败:在收到握手响应之前连接已关闭

这是我的mosquitto.log文件

enter image description here

还有我的蚊子配置文件

enter image description here

任何人都知道如何使它工作?我认为这与尝试打开W​​eb套接字的多个服务和/或多个用户有关。我尝试了铬和Firefox。 有什么帮助吗?谢谢

0 个答案:

没有答案