2017-11-29 27 views
0

私はWebソケットを介してMQTT用Paho Androidサービスを使用しています。MQTT over AndroidのWebソケット

https://www.hivemq.com/blog/mqtt-client-library-enyclopedia-paho-android-service

私の質問は、私はそれでクエリパラメータを持っているブローカーWSS URIを設定しない方法です。例えば

WSS://test.amazon.com:?80/MQTT Query1を=値& QUERY2 =値

編集

我々は完全なURLを追加する場合は、PAHOクライアントライブラリには、次の例外がスローされます。

MqttException (0) - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:38) 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:664) 
W/System.err:  at java.lang.Thread.run(Thread.java:761) 
W/System.err: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketHandshake.receiveHandshakeResponse(WebSocketHandshake.java:133) 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketHandshake.execute(WebSocketHandshake.java:74) 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketSecureNetworkModule.start(WebSocketSecureNetworkModule.java:77) 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:650) 

編集2

CLIENT = new MqttAndroidClient(this, "wss://test.amazon.com:80/mqtt?query1=value&query2=value", clientId, new MemoryPersistence()); 
CLIENT.setCallback(this); 

MQTT_CONNECTION_OPTIONS = new MqttConnectOptions(); 
MQTT_CONNECTION_OPTIONS.setCleanSession(true); 

try { 
    IMqttToken token = CLIENT.connect(MQTT_CONNECTION_OPTIONS); 
    token.setActionCallback(new IMqttActionListener() { 
     @Override 
     public void onSuccess(IMqttToken asyncActionToken) { 
      Log.v("tag", "onsuccess"); 
     } 

     @Override 
     public void onFailure(IMqttToken asyncActionToken, Throwable exception) { 
      exception.printStackTrace(); 
     } 
    }); 


} catch (MqttException e) { 
    e.printStackTrace(); 
} 
+0

そのURLを接続URLとして指定するとどうなりますか?あなたのコードとスローされたエラーを表示してください – hardillb

+0

接続を設定する場所にコードを含めてください。それが正しい場合、これはPahoコードのバグです(それはもっとうまく失敗するはずです) – hardillb

+0

connect –

答えて

1

コンパイル 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0' からバージョンを変更する

に「組織をコンパイルします。 eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0 '

この問題は解決されました。彼らはv1.2.0でこの問題を修正しました

関連する問題