Wizzercn / MqttWk

Java + Netty 实现的高并发高可用MQTT服务broker,轻松支持10万并发(有群友实现了130万在线)
Apache License 2.0
635 stars 229 forks source link

设备断网,或杀掉进程,redis里的session和topic信息没有清理 #14

Closed Aarthas closed 4 years ago

Aarthas commented 4 years ago

如题

Aarthas commented 4 years ago

因为channelInactive 里,idle的timeout 会被取消,不执行

Wizzercn commented 4 years ago

@Aarthas 不会清理的,否则重连后消息怎么下发呢

Aarthas commented 4 years ago

你好:

请问:那我怎么判断设备是否在线?是通过DefaultChannelGroup. find(ChannelId var1),找不到就是不在线这样判断吗?

场景:我上层应用要知道设备是否在线: 是否通过redis判断设备是否在线?如果不能,mqttwk需对外提供服务?

Wizzercn commented 4 years ago

@Aarthas https://github.com/Wizzercn/MqttWk/blob/netty/mqtt-broker/src/main/java/cn/wizzer/iot/mqtt/server/broker/webapi/WebApiController.java

Aarthas commented 4 years ago

明白了,谢谢

Aarthas commented 4 years ago

明白了,谢谢