我尝试使用Kii Cloud service从浏览器建立MQTT连接,但失败了。
请问任何建议吗?
[事件]
我尝试使用从Kii Cloud MQTT获得的端点建立连接,但返回了以下错误。
※我使用paho作为MQTT客户端。
WebSocket连接到'ws:// [我从Kil Cloud获得的主机名]:[我从Kil Cloud获得的端口] / mqtt'失败:WebSocket握手期间出错:net :: ERR_CONNECTION_RESET
[我尝试过的]
·我找出了问题的原因。 (客户端或服务器端)
→我运行了paho的示例代码,它能够成功连接到代理(test.mosquitto.org:8080)。
·Ping通讯确认
→我无法ping通从Kii Cloud获得的主机。(我可以ping上面的经纪人)
[我的代码]
// Create a client instance
client = new Paho.MQTT.Client([hostname which I got from Kil Cloud], [port which I got from Kil Cloud], "clientId");
// set callback handlers
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
// connect the client
// client.connect({onSuccess:onConnect});
client.connect({
onSuccess:onConnect,
userName:[username which I got from Kil Cloud],
password:[password which I got from Kil Cloud]
});
[环境]
谷歌浏览器:版本49.0.2623.112米
客户端:paho
服务器端:Kii Cloud
非常感谢。
答案 0 :(得分:0)
我猜这是由固定字符串“clientID”引起的。 Kii Cloud MQTT代理需要包含客户端ID以响应获取端点。
“mqttTopic”字段的值是要在Kii Cloud MQTT代理中使用的客户端ID。 (虽然从api文件中不清楚。)
成功连接后,“mqttTopic”字段的值也用作MQTT主题。