阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:2. IoT 客户端

简介: 1) 客户端连接CZGL.AliIoTClient 中,有两个连接到阿里云物联网服务器的方法:public CZGL.AliIoTClient.ConnectCode ConnectIoT(string[] SubTopic, ...

1) 客户端连接

CZGL.AliIoTClient 中,有两个连接到阿里云物联网服务器的方法:

public CZGL.AliIoTClient.ConnectCode ConnectIoT(string[] SubTopic, 
                                                [byte[] QOS = null], 
                                                [ushort keepAlivePeriod = 60])
public System.Threading.Tasks.Task<CZGL.AliIoTClient.ConnectCode> 
                                   ConnectIoTAsync(string[] topics, 
                                   [byte[] QOS = null], 
                                   [ushort keepAlivePeriod = 60])

参数说明及返回值:

参数名称 类型 说明
SubTopic string[] 要订阅的 Topic 列表,只有先订阅这个 Topic ,才会接收到服务器推送这个 Topic
QOS byte[] 每个Topic都配置一个QOS,如果为空,将会为每个Topic设置 QOS=0x00,注意QOS只有0,1,2三种,因此使用byte最合适
keepAlivePeriod ushort 存活监测周期,MQTT 通讯要求每间隔一段时间,客户端及时反馈,以此证明客户端的存活,超过这个周期,服务器会认为客户端已经掉线。
返回值 ConnectCode 是连接返回状态的代码,枚举类型,即使因为密钥错误、网络断开等造成连接失败,不会触发异常,会返回状态码

每个 Topic 都有 一个 QOS 属性,SubTopic 的 长度和 QOS 的长度应当一致,索引位置也要对应。

QOS 的含义:

  • QOS = 0 ,最多一次
  • QOS = 1,至少一次
  • QOS = 2,只有一次

ConnectCode:

当客户端尝试与服务器建立连接,可能成功也可能失败,此时会返回具体的连接状态信息,ConnectCode 枚举如下:

枚举名称 枚举值 说明
conn_accepted 0x00 连接成功
conn_refused_prot_vers 0x01 协议版本
conn_refused_ident_rejected 0x02 认证被拒绝
conn_refused_server_unavailable x03 服务器403/404等
conn_refused_username_password 0x04 账号密码错误
conn_refused_not_authorized 0x05 没有授权
unknown_error 0x06 其它未知错误

示例:

            var code = client.ConnectIoT(topics, null, 60);
            Console.WriteLine("连接状态:" + code);

2)断开连接

public bool ConnectIoTClose() 

断开连接,会彻底释放 AliIoTClientJson 对象,而不仅仅是离线,如需重新连接,请重新 new 一个对象;

示例:

 client.ConnectIoT(topics,null,60);

3) 查看状态

查看客户端是否与服务器保持连接:

public bool isConnected { get; }

示例:

Console.WriteLine("是否与服务器连接保持连接:" + client.isConnected);
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
9月前
|
Linux Android开发 iOS开发
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
147 0
|
消息中间件 监控 数据可视化
一个基于.Net Core 开源的物联网基础平台
一个基于 .Net 6.0 使用C#语言编写的以实现可见与不可见的物理设备数字孪生的物联网平台。用于数据的收集、处理、可视化、设备管理、设备预警、报警的平台。
482 0
一个基于.Net Core 开源的物联网基础平台
|
监控 物联网 API
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
MQTT广泛应用于工业物联网、智能家居、各类智能制造或各类自动化场景等。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,在很多受限的环境下,比如说机器与机器通信、机器与物联网通信等。好了,科普的废话不多说,下面直接通过.NET环境来实现一套MQTT通信demo,实现服务端与客户端的双边消息发布与订阅的功能和演示。
1179 0
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
|
1月前
|
人工智能 物联网 开发者
**.NET技术革新赋能软件开发:从.NET 5的性能飞跃、跨平台支持,到微服务、物联网、AI和游戏开发的广泛应用。
【7月更文挑战第4天】**.NET技术革新赋能软件开发:从.NET 5的性能飞跃、跨平台支持,到微服务、物联网、AI和游戏开发的广泛应用。随着云集成深化、开源社区壮大,未来将聚焦性能优化、云原生应用及新兴技术融合,培养更多开发者,驱动软件创新。**
122 1
|
2月前
|
NoSQL 大数据 Redis
分享5款.NET开源免费的Redis客户端组件库
分享5款.NET开源免费的Redis客户端组件库
|
3月前
|
JSON 编解码 Go
Golang深入浅出之-HTTP客户端编程:使用net/http包发起请求
【4月更文挑战第25天】Go语言`net/http`包提供HTTP客户端和服务器功能,简化高性能网络应用开发。本文探讨如何发起HTTP请求,常见问题及解决策略。示例展示GET和POST请求的实现。注意响应体关闭、错误处理、内容类型设置、超时管理和并发控制。最佳实践包括重用`http.Client`,使用`context.Context`,处理JSON以及记录错误日志。通过实践这些技巧,提升HTTP编程技能。
49 1
|
3月前
|
Go 开发者
Golang深入浅出之-HTTP客户端编程:使用net/http包发起请求
【4月更文挑战第24天】Go语言的`net/http`包在HTTP客户端编程中扮演重要角色,但使用时需注意几个常见问题:1) 检查HTTP状态码以确保请求成功;2) 记得关闭响应体以防止资源泄漏;3) 设置超时限制,避免长时间等待;4) 根据需求处理重定向。理解这些细节能提升HTTP客户端编程的效率和质量。
43 1
|
9月前
|
缓存 NoSQL 大数据
4款.NET开源的Redis客户端驱动库
4款.NET开源的Redis客户端驱动库
103 0
|
10月前
|
对象存储
.net core 阿里云接口之拷贝文件
紧接上文, 1)[.net core 阿里云接口之获取临时访问凭证](https://developer.aliyun.com/article/1363447?spm=a2c6h.12873639.article-detail.7.2b0e5b1cpeWbZ5 ".net core 阿里云接口之获取临时访问凭证") 2)[.net core 阿里云接口之将指定的OSS文件下载到流](https://developer.aliyun.com/article/1363886 ".net core 阿里云接口之将指定的OSS文件下载到流") 本文继续阿里云接口调用,将指定的OSS文件下载到流。
52 0
|
10月前
|
C# 对象存储
.net core 阿里云接口之将指定的OSS文件下载到流
紧接上文,[.net core 阿里云接口之获取临时访问凭证](https://developer.aliyun.com/article/1363447?spm=a2c6h.13262185.profile.8.180876540j71A9 ".net core 阿里云接口之获取临时访问凭证") 本文继续阿里云接口调用,将指定的OSS文件下载到流。 直接上代码: ```csharp /// <summary> /// 将指定的OSS文件下载到流 /// </summary> /// <param name="args"></param> /// <returns></returns> [H
217 0

相关产品

  • 物联网平台