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

MQTT客户端同时发布和订阅

孟安民
2023-03-14

我是MQTT的新手,我有一些问题希望你们能帮助我。我正在做一个学校项目,需要我使用MQTT协议,程序需要用C语言编写。(只是一些背景信息)

>

  • MQTT客户端可以同时是发布服务器和订阅服务器吗?也就是说,在不断等待从代理接收消息并执行结果操作的同时,它还能够在需要时将消息发布到代理。

    我对MQTT的理解是:MQTT发布者-->MQTT代理-->MQTT订阅者

    用白痴的话来说,MQTT的异步模式到底是什么?

    谢了!

  • 共有1个答案

    通奕
    2023-03-14

    1)是的,没有理由MQTT客户端不能是发布服务器和订阅服务器,这是客户端工作的正常模式。

    2)异步MQTT客户端实现在执行网络操作(发送或接收数据)时不会阻塞。这意味着所有网络操作都在后台进行,从任何通常会阻塞的调用中返回一个令牌,该令牌可用于检查该操作是否在以后成功。

     类似资料:
    • 有人知道我在哪里可以得到一些示例MQTT客户端Go(golang)代码,它在无限循环中发布和订阅? null 下面是我正在使用的代码: 我翻阅了GoDocs寻找一些关于如何保持连接畅通的提示,但似乎没有什么相关的。我当然可以在subscribe上执行无限循环,但这似乎效率低下。

    • 安装:composer require imiphp/imi-mqtt 项目配置文件: [ 'components' => [ 'MQTT' => 'Imi\MQTT', ], ] MQTT 功能要求 PHP >= 7.2 使用 事件监听类: <?php namespace Imi\MQTT\Test; use Imi\MQTT\Client\Con

    • 本文向大家介绍Redis发布订阅和实现.NET客户端详解,包括了Redis发布订阅和实现.NET客户端详解的使用技巧和注意事项,需要的朋友参考一下 前言 发布订阅在设计模式中也可以说是观察者模式,针对这个模式是处理对象间一对多的依赖关系的,当一个对象发生变化,其它依赖他的对象都要得到通知并更新。 然而它也有自己的缺点,就是当主题发生一系列的变化时,观察者都要做批量的更新,如果这样的更新成本很高,那

    • 我后来理解对了。实际上,我需要一条来自android客户端的MQTT消息发送到所有其他客户端,所以我想在消息正文中包含publish关键字,这是非常错误的。MQTT本身将接收到的消息发送给所有提供的客户端,如果客户端订阅了该主题的话。

    • 发布和订阅 Meteor 服务端可以通过Meteor.publish发布文档集,同时客户端可以通过Meteor.subscribe订阅这些发布。 任何客户端订阅的文档都可以通过find方法进行查询使用。 默认情况下,每个新创建的 Meteor 应用包含有 autopublish 包,它会自动为每个客户端发布所有可用的文档。 为了可以更细化的控制不同客户端所接收的数据文档,首先应该在终端移除 aut