【问题标题】:Android MQTT - Paho Doesn't support wss://Android MQTT - Paho 不支持 wss://
【发布时间】:2016-08-22 03:31:11
【问题描述】:

我正在使用 Paho Android 客户端。 https://eclipse.org/paho/clients/java/

这可能是 Android 上 MQTT 的首选库,但它不支持安全 MQTT websockets (wss://),导致服务器 uri 出现 IllegalArgument 异常。

我一直在寻找一种解决方案来连接我的 MQTT websocket,它有一个 wss:// 路径方案,到目前为止只有一个库: https://github.com/inventit/mqtt-websocket-java

这也行不通!我遇到了 Jetty SSL 异常。

如果您有以前使用过的实现,请与我分享,这花了我很多时间,我仍然一无所知,谢谢!

对于这两个库,我都尝试使用他们在文档中提供的示例代码。

【问题讨论】:

  • 这里没有真正的问题
  • @hardillb 问题是如何连接到 android 上的 MQTT websocket,因为当前的解决方案不起作用?

标签: java android websocket mqtt paho


【解决方案1】:

我认为 Paho Android 客户端不支持 websocket ssl,但您可以像这样使用 MqttAsyncClient 代替 MqttAndroidClient:

库是一样的:

    dependencies {
    ...
    compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
    compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.0'
    ...
    }

像这样使用 MqttAsyncClient 代替 MqttAndroidClient :

private MqttAsyncClient mMqttAndroidClient;
try {
      mMqttAndroidClient = new MqttAsyncClient("wss://...", MqttClient.generateClientId(), new MemoryPersistence());
    } catch (MqttException e) {
      e.printStackTrace();
    }

【讨论】:

    【解决方案2】:

    我使用“WSS://”没有任何问题。使用“WSS”架构和端口 443 创建一个 MqttAndroidClient 对象。

    mqttConnectOptions = new MqttConnectOptions();
        mqttConnectOptions.setKeepAliveInterval(MqttConfig.KEEPALIVE);
        mqttConnectOptions.setUserName("username");
        mqttConnectOptions.setPassword("pass");
        mqttConnectOptions.setCleanSession(false);
        mqttConnectOptions.setAutomaticReconnect(true);
        mqttConnectOptions.setMaxInflight(1024);
        ..
        uri="wss://broker.hivemq.com:443"
        MqttAndroidClient client = new MqttAndroidClient(context, uri, clientId,persistence);
        ..
        getClient().connect(mqttConnectOptions,applicationContext,mqttActionListener;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-03
      • 2015-04-17
      • 1970-01-01
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      相关资源
      最近更新 更多