当前位置: 首页
AI教程
阿里云物联网.NET Core客户端CZGL.AliIoTClient订阅与响应Topic

阿里云物联网.NET Core客户端CZGL.AliIoTClient订阅与响应Topic

热心网友 时间:2026-06-29
转载

在 CZGL.AliIoTClient 中,Topic 被划分为五种类型:普通 Topic、属性上报、属性下发、事件上报和服务调用。除普通 Topic 外,其余四种均支持消息发送及对应的响应机制。

阿里云物联网 .NET Core 客户端

对于普通 Topic,消息发出后,基于 MQTT 协议,SDK 会严格确保消息可靠送达另一端。设备向服务器上报属性或事件时,服务器会返回响应;反之,服务器下发数据时,设备也需做出响应。不过,这些响应并非强制要求——在实际业务中,即便不处理也不会影响核心流程。

每个 Topic 均对应一个 MQTT 通讯地址,这些地址在 CZGL.AliIoTClient 中已自动生成,你只需填写普通 Topic 的通讯地址即可。

1) 订阅 Topic

订阅 Topic 前,请先在阿里云物联网平台定义好对应 Topic,并正确设置“订阅”权限。普通 Topic 的订阅有两种方式:一是在连接时通过 string[] 列表传入,二是在连接成功后动态添加。后者称为“热订阅”,可在运行时灵活调整。

具体用法如下:

// 设置要订阅的Topic、运行接收内容的Topic
string[] topics = new string[] { client.CombineHeadTopic("get"),"/a1xrkGSkb5R/mire/user/get1" };
client.ConnectIoT(topics,null,60);

Topic 地址通常较长,你只需记住 .../user/ 之后的部分,然后借助 CombineHeadTopic() 自动补全完整地址,例如 client.CombineHeadTopic("get")

2)响应

当使用属性、事件或服务功能与服务器进行数据交互时,服务器会返回响应。你可以选择接收这些响应,也可以忽略。默认情况下,CZGL.AliIoTClient 不接收服务器的响应——因为在大多数场景下,响应信息仅在调试阶段有用。

响应方法说明
OpenEventPostReply()接收上报事件后服务器的响应
OpenPropertyPostReply()接收设备属性上传后服务器的响应
OpenServicePostRaw()允许服务器调用服务 新版本已取消此设置
OpenPropertyDownPost()允许服务器下发设置设备属性指令

注意:这些响应必须在连接客户端前设置,客户端连接后不能再使用以上方法,否则会抛出异常。 该问题已修复。现在你可以在程序的任意阶段开启或关闭接收功能,使用非常灵活。

查看这些功能是否开启,可调用:

public CZGL.AliIoTClient.OpenTopic getOpenTopic()

返回的 OpenTopic 对象包含 8 个属性,用于获取或设置是否打开某种类型的接收:

属性说明默认值
CommonTopic是否接收普通Topic固定为true,不可更改
PropertyUpRawReplyTopic设备上传透传属性数据后服务器的响应false
PropertyPostReplyTopic设备上传Alink json属性数据后服务器的响应false
PropertyDownRaw服务器下发设置属性的命令(透传)false
PropertyDownPost服务器下发设置属性的命令(Alink json)false
EventUpRawReply设备事件上报后服务器的响应(透传)false
EventPostReply设备事件上报后服务器的响应(Alink json)false
ServiceDownRaw服务器调用服务(透传)false
ServicePostRaw服务器调用服务(Alink json)false

有一点需要注意:由于区分了透传和 Alink json 两种格式,如果你使用的是透传,那么设置 Alink json 对应的项将无效,反之亦然。

3)连接服务器后

客户端成功连接服务器后,仍可增加要订阅的普通 Topic:

public void TopicAdd(string[] topics, [byte[] QOS = null])

示例:

client.TopicAdd(new string[]{ client.CombineHeadTopic("get") })

同样也可以移除已订阅的 Topic:

public void TopicRemove(string[] topics)

连接后,你可以关闭接收服务器的响应信息,但之前的设计无法重新开启。不过该问题已修复——现在你可以在程序的任意阶段取消后再次打开接收。

方法说明
CloseEventPostReply()不再接收设备上传事件后服务器的响应
ClosePropertyPostReply()不再接收设备上传属性后服务器的响应
CloseServicePostRaw()不允许服务器下发调用设备服务的指令 已删除此设置
ClosePropertyDownPost()不允许服务器下发设置设备属性的指令

4) Topic 说明

获取当前已订阅的 Topic 列表:

public string[] GetSubedList { get; }

示例:

var topicList = client.GetSubedList;

这里需要理解一个底层原理:服务器端设置设备属性、调用设备服务等操作,本质上是基于 MQTT 的发布/订阅模式。因此,无论功能看起来多复杂,数据传输最终都通过 Topic 完成。这也是为什么设备属性上报、属性下发等功能都可以配置 Topic 属性。

在 CZGL.AliIoTClient 中,客户端可以订阅它感兴趣的 Topic。连接服务器后,服务器可以向所有 Topic 发送数据,但只有那些被客户端明确订阅的 Topic,客户端才会真正收到推送消息。否则,你在控制台怎么点击发送都没用——客户端根本不会接收。

对于普通 Topic,是否允许服务器推送消息到客户端,完全取决于客户端连接时的配置,并且是动态变化的。但属性、事件、服务这些功能会保存之前的配置。举个例子,如果你调用了:

client.OpenPropertyPostReply();

开启了属性上传响应的接收,即使程序重启后没有再次调用这一行,它仍然会保持开启,除非你显式调用:

client.ClosePropertyPostReply();

总而言之,设备上传数据到服务器,服务器会返回响应;同样,服务器下发属性设置或调用服务时,客户端也可以做出响应。这些细节将在后续章节中进一步阐述。

来源:https://developer.aliyun.com/article/704918

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Windows Docker Desktop RabbitMQ生产级部署完整指南

Windows Docker Desktop RabbitMQ生产级部署完整指南

前言 在 Windows 本地开发环境中,直接安装 RabbitMQ 确实颇为周折:需要单独配置 Erlang 运行环境、手动管理环境变量、服务启停全凭手工操作。更令人困扰的是,版本兼容冲突、端口占用、环境不一致等问题层出不穷。笔者见过不少开发者为搭建环境就得耗费整整半天时间。 相比之下,借助 Do

时间:2026-06-29 17:49
AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践

先分享一个切实感受。过去两年,我们与福建制造企业合作较为频繁,发现一个非常突出的现象:超过80%的企业官网,产品参数仍然存放在PDF或图片中。AI爬虫?根本无法抓取。这些企业技术实力不弱、资质证照齐全、应用案例也丰富,但在AI搜索这一全新战场上,它们几乎处于隐身状态。 一、一个正在发生的行业变化 A

时间:2026-06-29 17:48
阿里云Token Plan团队版功能价格与省钱购买指南

阿里云Token Plan团队版功能价格与省钱购买指南

阿里云百炼近期推出了名为“Token Plan 团队版”的全新服务,这一服务专为企业与开发者量身打造,定位为AI大模型订阅平台。通过引入Credits作为统一计量单位,将文本生成、图像生成等多模态AI能力纳入单一计费体系,同时无缝兼容主流AI编程工具及智能体(Agent)生态系统。其核心亮点包括:全

时间:2026-06-29 17:47
阿里云物联网.NET Core客户端位置信息上报

阿里云物联网.NET Core客户端位置信息上报

阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。 1)添加二维位置数据 操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将

时间:2026-06-29 17:47
年阿里云服务器选型配置与网站部署全攻略

年阿里云服务器选型配置与网站部署全攻略

2026年,阿里云服务器生态已高度成熟,形成了清晰的轻量应用服务器与ECS云服务器两大产品阵营。无论你是计划搭建个人博客、企业官网,还是运营电商平台、进行应用开发,基本都能找到理想的解决方案。本指南将从服务器选型、配置选择、部署流程到安全运维,系统梳理2026年最实用的操作要点,帮助你少走弯路,让网

时间:2026-06-29 17:47
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜