Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MQTTNet托管客户端扩展问题

MQTTNet托管客户端扩展问题
EN

Stack Overflow用户
提问于 2022-09-22 06:10:35
回答 1查看 166关注 0票数 0

我有ManagedMqttClient来建立与Solace的连接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public async Task Connect()
        {
           _mqttClient = new MqttFactory().CreateManagedMqttClient();
           _mqttClientOptions = new MqttClientOptionsBuilder()
                .WithClientId(_options.ClientId)
                .WithTcpServer(_options.Host, _options.Port);
           
            ManagedMqttClientOptions managedMqttClientOptions = new ManagedMqttClientOptionsBuilder()
                   .WithClientOptions(_mqttClientOptions)
                   .Build();

            await _mqttClient.StartAsync(managedMqttClientOptions);

            _mqttClient.ConnectedHandler = new MqttClientConnectedHandlerDelegate(e =>
                    _logger.LogDebug("MQTT connection is made; Result code: {ConnectResult}", e.ConnectResult.ResultCode));
            _mqttClient.ConnectingFailedHandler = new ConnectingFailedHandlerDelegate(e =>
                    _logger.LogError("MQTT connection is failed; Exception: {Exception}", e.Exception.Demystify()));
            _mqttClient.DisconnectedHandler = new MqttClientDisconnectedHandlerDelegate(e =>
                    _logger.LogDebug("MQTT connection is end; Reason: {Reason}", e.Reason));

            _mqttClient.UseApplicationMessageReceivedHandler(MessageReceivedHandler);
        }

它对服务的一个实例( MQTT客户端)非常有用。但是,当并行地启动另一个服务实例时,我将面临重新连接问题。它每秒钟对两个服务进行连接和断开。

是否有什么方法可以使用MQTTnet和缩放我的服务而没有这样的问题。提前谢谢你!

MQTTnet包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<PackageReference Include="MQTTnet" Version="3.1.2" />
<PackageReference Include="MQTTnet.Extensions.ManagedClient" Version="3.1.2" />
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-23 02:05:05

这不是MQTTnet管理客户端的问题。深入了解MQTT我发现

如果尝试连接到与现有客户端同名的MQTT代理,则删除现有客户端连接。因为大多数MQTT客户端将尝试在断开之后重新连接,这可能导致断开连接和连接的循环。

因此,安慰放弃一个客户端,用另一个客户端替换它。它可以通过共享订阅功能来修复。在我的例子中,Solace支持它,MQTTnet也支持这样的特性。所有必要的方法就是在主题中使用$/group订阅和创建具有不同ids的客户端。有关更多信息,请查看MQTTnet负载平衡

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73816135

复制
相关文章
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.4K0
Python中如何获取列表中重复元素的索引?
昨天分享了一个文章,Python中如何获取列表中重复元素的索引?,后来【瑜亮老师】看到文章之后,又提供了一个健壮性更强的代码出来,这里拿出来给大家分享下,一起学习交流。
前端皮皮
2022/08/17
13.4K0
Python中如何获取列表中重复元素的索引?
【说站】python列表元素的获取和查看
以上就是python列表元素的获取和查看,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
1.4K0
python中删除列表中重复元素
在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下边给出三种方法来实现这个功能。
全栈程序员站长
2022/09/07
4.1K0
如何在 React 中获取点击元素的 ID?
在 React 应用中,我们经常需要根据用户的点击事件来执行相应的操作。在某些情况下,我们需要获取用户点击元素的唯一标识符(ID),以便进行进一步的处理。本文将详细介绍如何在 React 中获取点击元素的 ID,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.5K0
Python随机打乱列表中的元素
首先生成原列表的拷贝a_copy,新建一个空列表result,然后随机选取拷贝列表中的值存入空列表result,然后删除
宇宙之一粟
2020/10/26
6.7K0
python删除列表元素
remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空 List_remove = [1, 2, 2, 2, 3, 4] print(List_remove.remove(2)) print("after remove", List_remove) # None # after remove [1, 2, 2, 3, 4] ---- pop 删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值 List_pop = [1, 2, 2, 2, 3, 4] print(List
演化计算与人工智能
2020/08/14
1.6K0
Python——去除列表中的重复元素
set(['I', 'I', 'M', 'E']) set(['I', 'E', 'M']) 集合中,没有重复的元素。利用集合这种数据结构的特性,可以去除列表中的重复元素。 一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数。 from collections import Counter a = [1,4,2,3,2,3,4,2] b = Counter(a) #求数组中每个数字出现了几次 print(b)
瑞新
2020/07/07
5K0
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
Python 中的 数据容器 数据类型 可以 存放多个数据 , 每个数据都称为 元素 , 容器 的 元素 类型可以是任意类型 ;
韩曙亮
2023/10/11
3130
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
如何在 WordPress 中获取最新被评论的文章列表
我之前的「WordPress 文章查询教程6:如何使用排序相关的参数」中详细介绍了文章查询的排序参数,其中介绍可以通过评论数进行排序:
Denis
2023/04/13
1.6K0
列表元素循环移位中Python切片的妙用
之前有个文章中介绍了列表循环移位的3中方法,原文请见:Python序列循环移位的3种方法 其中第二种方法虽然更直接地翻译了题目的要求,但是显得还是有点啰嗦,如果充分利用Python中的切片技术,可以写成下面更简洁的形式: >>> def demo(lst, k): x = lst[k-1::-1] y = lst[:k-1:-1] return list(reversed(x+y)) #测试用的列表 >>> lst = list(range(20)) #循环左移3位 >>> demo(l
Python小屋屋主
2018/04/16
5.6K0
python比较列表中元素大小和列表中元素的判定
列表的判定主要是判定列表中是否包含某个元素,使用逻辑运算符判定就可以了;列表的比较稍微复杂一些,首先比较的是两个列表中对应元素的大小,如果元素值一样,再比较列表长度。
python自学网
2021/12/01
5.7K0
python比较列表中元素大小和列表中元素的判定
python:删除列表中特定元素的几种方法
终于刷到一条不看答案就能轻松解出来的题目,更重要的是学习到了几种删除列表中元素的方法,值得做一下笔记
冰霜
2022/03/19
8.4K0
python:删除列表中特定元素的几种方法
使用Python取列表元素中的城市名(上篇)
前几天在Python最强王者群【eric】问了一个Python列表基础的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
3960
使用Python取列表元素中的城市名(上篇)
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.4K0
使用Python取列表元素中的城市名(下篇)
前几天在Python最强王者群【eric】问了一个Python列表基础的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
2090
使用Python取列表元素中的城市名(下篇)
Python 中如何向列表或数组添加元素
然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。Python 使用列表取代传统的数组。
Python学习者
2023/09/11
3790
Python 列表元素分组,比如 [1,
# 生成一个1到20的列表 a=[x for x in range(1,21)] # 把a列表切片,并赋值给b列表,x为0到20且步长为3的列表,在这里具体为[0,3,6,9,12,15,18] # 把x带入,b列表为[a[0:0+3],a[3:3+3]……[a[18:18+3] b=[a[x:x+3] for x in range(0,20,3)] print(a) print(b) 输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1
py3study
2020/01/19
1K0
python遍历列表删除元素与修改元素
如果是修改元素,在遍历时如果想用迭代器对元素进行修改,是不会持久化的,这时候需要使用下标来处理。 像这样: for i in range(len(a)): a[i] += str(i)
看、未来
2021/09/18
1.6K0
Python 列表如何添加元素
添加前: 'my', 'name', 'is', 'mark', 'age', 18
用户8418197
2022/02/13
1.8K0

相似问题

python中列表元素的总和列表,如sql group by

51

如何在python flask中获取html属性,如html元素的类

30

Python -从列表中获取元素

24

python:获取列表中的元素

11

从python列表中获取元素

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文