首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当MQTT源连接器空闲时,它不会将PINGREQ发送给MQTT代理

当MQTT源连接器空闲时,它不会将PINGREQ发送给MQTT代理
EN

Stack Overflow用户
提问于 2021-05-19 15:51:01
回答 1查看 189关注 0票数 2

问题-

我已经使用镜片创建了一个MQTT源连接器。连接器可以正常工作,直到数据被发布到我的MQTT Mosquitto上,而且工作起来似乎是不可能的。现在,当我停止发布数据并且没有数据发送到mqtt源连接器时,大约4到5分钟后,如果我再次开始发布数据,即使连接器仍然处于运行状态,数据也不会进入我的源连接器。为了解决这个问题,我需要每次重新启动连接器,这是不好的。

方法我已经试过了-

  1. 尽管客户机id是唯一的,但我每次都会更改它,以确定这是否是问题所在。但没起作用。
  2. 试着把保持生命的间隔增加到10分钟,但也没有效果。
  3. 卡夫卡连接日志中有很长一段时间没有错误日志,但是在15-20次尝试中,我收到了这个插座连接错误

更新

在深入研究这个问题之后,我发现我的源连接器(作为mqtt客户端的行为)在MQTT代理空闲时没有向mqtt代理发送任何PINGREQ数据包,而其他连接到mqtt代理的客户端则在PINGREQ数据包空闲时发送PINGREQ数据包,因此源连接器和mqtt代理之间的连接被丢弃。

我是否需要在MQTT源代码连接器属性文件中显式指定任何属性,以便在保持活动时间内向MQTT代理发送PINGREQ数据包,还是连接器本身处理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-25 13:59:17

经过长时间的研究,我发现镜头连接器使用的默认保持时间(5000)是以为单位的。5000秒太大了,所以mqtt-broker甚至在第一个PINGREQ被客户端在其保持存活时间发送之前就已经断开了客户端的连接。通过在连接器属性文件中添加行connect.mqtt.keep.alive=5,我将保持活动时间缩短到了5秒。这解决了这个问题。

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

https://stackoverflow.com/questions/67606647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档