无法使用Mosquito Broker javascript客户端建立websocket连接



我正在windows机器上运行MQTT服务器(mosquitto)。该服务正在端口号1883上运行。

从mosquitto.org下载了mosquitto.js文件,并按如下方式拨打了电话当我调试时,我会看到结果"connection.readyState==0"。如果我遗漏了什么,请帮帮我。我正在使用chrome和safari的最新版本来测试它。提前谢谢。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/JavaScript" src="./js/mosquitto-1.1.js"></script> 
<title>publisher</title>
</head>
<body>
    <table align="center">
        <tr>
            <td>
                <h1>Publisher</h1>
                <table>
                    <tr>
                        <td><textarea rows="5" cols="25" id="txtMsg"></textarea></td>
                    </tr>
                    <tr>
                        <td align="center"><input type="button" value="post"
                            onclick="javaScript:postMessage();" /></td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</body>
<script type="text/javascript">
function postMessage()
{
    var postVal = document.getElementById('txtMsg').value;
    var t = new Mosquitto();
    t.connect('ws://localhost',100000);
    t.publish('inbox/msgrec',postVal,0,0);
}

是否有必要安装jetty服务器或使用node.js使用mosquito javascript客户端进行连接,或者是否有必要在安装mosquito时对配置文件进行任何更改。

Mosquitto不直接支持WebSockets。您需要一些其他东西来完成并将携带MQTT数据包的WebSocket连接(例如mosquitto.js生成的)转换为原始MQTT。

test.mosquitto.org上的服务器有lighttpd作为Web服务器运行,mod_websockets提供websockets支持。使用这种方法可以连接到ws://test.mosquitto.org/mqtt。您需要自己创建一个类似的解决方案。Apache也有可以做到这一点的websocket模块,或者您可以使用例如libwebsocket创建自己的websocket服务器。

不应该是吗

t.connect('ws://localhost:1883',100000);

相关内容

  • 没有找到相关文章

最新更新