2016-04-24 4 views
0

Kii Cloud serviceを使用してブラウザからMQTT接続を確立しようとしましたが、失敗しました。Kiiクラウドサービスを使用したMqttとの接続

お願いします。

[イベント]

私は紀伊クラウドMQTTからもらったエンドポイントを使用して接続を確立しようとしましたが、次のエラーが返されてきました。

※MQTTクライアントにはpahoを使用しています。失敗:エラーのWebSocketハンドシェイク中: ':// [私はKILクラウドから得たホスト名]/MQTT [私はKILクラウドから得たポート]はWS' に

のWebSocket接続ネット:: ERR_CONNECTION_RESET

[私が試したこと]

・私は問題の原因を特定します。 (クライアント側またはサーバー側)

→pahoのサンプルコードを実行すると、ブローカ(test.mosquitto.org:8080)に正常に接続できました。

・pingの通信確認

私は紀伊クラウドから得たホストにpingを実行することはできません→。(私は上記のブローカーに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] 
}); 

[環境]

Googleのクロム:49.0.2623.112 M

Clで版ient側:PAHO

サーバー側:紀伊クラウド

ありがとうございました。

答えて

0

固定文字列 "clientID"が原因だと思います。 KiiクラウドMQTTブローカーでは、エンドポイントを取得する応答にクライアントIDが必要です。 「mqttTopic」フィールドの

GET endpoint

値は紀伊クラウドMQTTブローカーで使用するクライアントIDです。 (ただし、APIの文書からはわかりません)

MQTTトピックの値は、接続に成功した後も「mqttTopic」フィールドの値が使用されます。

関連する問題