我在flt中将wss与mqtt一起使用,程序包是mqtt_client,它不起作用

时间:2019-07-16 06:25:42

标签: flutter dart mqtt

我尝试在Flutter中使用mqtt wit wss,但是它没有成功连接。在MQTTBox.exe中,它成功连接了wss://postman.cloudmqtt.com:32839。

Flutter版本为1.7.8 + hotfix3,分支稳定。 我使用的是mqtt_client.dart,版本是5.5.3。 我使用cloudmqtt提供了wss。

这是我的连接功能设置:

  void _connect() async {
    client = mqtt.MqttClient(broker, '');

    client.useWebSocket = true;

    client.port = 32839;

    client.secure = true;

    client.logging(on: true);

    client.keepAlivePeriod = 20;

    client.onDisconnected = _onDisconnected;

    final mqtt.MqttConnectMessage connMess = mqtt.MqttConnectMessage()
      .startClean()
      .keepAliveFor(20)
      .authenticateAs(cloudMqttAccount, cloudMqttSecret)
      .withWillQos(mqtt.MqttQos.atLeastOnce);



    print('MQTT client connecting....');
    client.connectionMessage = connMess;
    try {
      await client.connect();
    } catch (e) {
      print(e);
      _disconnect();
    }

    if (client.connectionState == mqtt.MqttConnectionState.connected) {
      print('MQTT client connected');
      setState(() {
        connectionState = client.connectionState;
      });
    } else {
      print(client);
      print('ERROR: MQTT client connection failed - '
          'disconnecting, state is ${client.connectionState}');
      _disconnect();
    }    
  }

0 个答案:

没有答案