【问题标题】:How to call mqtt client in background service flutter如何在后台服务flutter中调用mqtt客户端
【发布时间】:2022-11-10 20:18:11
【问题描述】:

我的项目使用 mqtt 进行通知。并且需要实时通知。 我有这样的 mqtt 类

class Mqtt {
...

  Mqtt._() {
    mqttClient = MqttServerClient.withPort(server, clientIdentifier, port);

    ///Successful connection callback
    mqttClient.onConnected = _onConnected;

    ///Disconnected callback
    mqttClient.onDisconnected = _onDisconnected;

    ///Subscription success callback
    mqttClient.onSubscribed = _onSubscribed;

    ///Subscription failure callback
    mqttClient.onSubscribeFail = _onSubscribeFail;
  }

  static Mqtt getInstance() {
    if (_instance == null) {
      _instance = Mqtt._();
    }
    return _instance!;
  }

  ///connection
  connect() {
    mqttClient.connect();
    _log("connecting");
  }

...
}

我这样打电话

Mqtt mqtt = Mqtt.getInstance();
mqtt.subTopic = 'NOTIFICATION/';
mqtt.connect();

但是当应用程序停止时,mqtt 会断开连接。 如何在后台服务flutter中调用mqtt客户端?

【问题讨论】:

    标签: flutter service background mqtt


    【解决方案1】:

    检查flutter foreground service 它可能会对您有所帮助。

    【讨论】:

      【解决方案2】:

      您是否已成功使其与颤振前台服务一起使用? 我正在尝试,但每次尝试发送消息时,都会出现错误:“连接异常:连接必须处于连接状态才能执行此操作。当前状态正在连接。”

      但是当我调用 connect() 函数时,它告诉我状态已连接。 哦,我在相同的代码中没有这个问题,但在前台服务中没有。

      那么一切对你来说都很好,还是你有同样的问题?

      感谢您的反馈意见 !

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 2014-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多