当前位置: 首页 > 知识库问答 >
问题:

接收脱机消息mqtt

桓智敏
2023-03-14
    null

有人帮忙吗?

谢谢,拉胡尔

共有1个答案

苏星宇
2023-03-14

为了使您的客户端成为持久客户端,并在脱机时接收发送到主题的消息,您需要满足以下条件:

  1. 固定客户端ID(正如您所做的那样)
  2. 始终使用clean_session=false连接
  3. 订阅必须具有>0
  4. 的QoS
  5. 发布的消息的QoS必须>0

我最常犯的错误是忘记了第3点和第4点中的任何一个,因此我使用QOS=0发布或使用QOS=0订阅,这两个错误都将导致消息无法存储。

 类似资料:
  • null 但是,我发现代理在重新连接时不会向客户机发送任何东西。 这就是我如何测试的:使用上面提到的四个参数将客户机连接到代理。用QOS=1订阅感兴趣的主题断开客户端 使用另一个客户端程序和另一个客户端id,连接到代理将消息发布到由现在脱机的客户端订阅的同一主题。请等待几秒钟,现在使用与以前相同的连接设置重新连接脱机客户端。

  • 在使用SocketIO的时候,消息将被作为活动(event)的两端接收。在客户端使用JavaScript回叫信号。使用Flask-SocketIO服务器,需要为这些活动注册处理器(handler),类似于视图函数怎样处理路由。 下面的例子是为一个未命名的活动创建了一个服务端的活动处理器(event handler): @socketio.on('message') def handle_mess

  • 26.4 接收消息 26.4.1 同步接收 虽然 JMS 通常与异步处理相关,但它也可以同步地消费消息。可重载的receive(..)方法提供了这个功能。在同步接收期间,调用线程阻塞,直到接收到消息。这可能是一个危险的操作,因为调用线程可能无限期地被阻塞。receiveTimeout属性指定了接收者等待消息的超时时间。 26.4.2 异步接收 - 消息驱动的 POJOs Spring 还可以通过使

  • 20.4. 接收消息 20.4.1. 同步接收 虽然JMS一般都和异步处理相关,但它也可以同步的方式使用消息。可重载的receive(..)方法提供了这种功能。在同步接收中,接收线程被阻塞直至获得一个消息,有可能出现线程被无限阻塞的危险情况。属性receiveTimeout指定了接收器可等待消息的延时时间。 20.4.2. 异步接收 - 消息驱动的POJOs 类似于EJB世界里流行的消息驱动bea

  • 当监听设备后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|2|5|message|" 返回接收到的消息 参数 message 返回的消息内容

  • 问题内容: 有没有办法获得最后的提交消息而无需访问存储库?尝试连接到仓库。 编辑:我有凭据设置,并使用它们来签出源。 我要实现的目标是让Jenkins根据提交消息触发另一个作业,即是否包含字符串“ #build”启动作业X。我的尝试是在Shell Build Step中解析它并执行一个作业取决于结果。但是由于我没有匿名访问该存储库的权限,也不想将凭据嵌入到shell脚本中,所以我不知道如何实现此目