jetlinks / jetlinks-community

JetLinks 基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。
https://www.jetlinks.cn/
Apache License 2.0
5.57k stars 1.67k forks source link

断开Http设备的连接,报超时错误,算是bug吗 #521

Closed jyy1990 closed 2 months ago

jyy1990 commented 2 months ago

这个接口:api/device-instance/1777885051477221376/disconnect

报超时我认为也是正常的,毕竟http设备根本就没有连接一说, 但是从产品角度看,这个问题不处理一下吗。或者说我有没有办法操作让它可以不报错 image

zhou-hao commented 2 months ago

官方协议?

jyy1990 commented 2 months ago

官方协议?

是啊,其他协议可以断,就这个报错

jyy1990 commented 2 months ago

我现在的处理办法是HTTP设备的断连接口重新写一个,和其他断连接口区分开,然后在后端通过http调用 /{productId:产品ID}/{deviceId:设备ID}/offline,相当于直接从设备发起断连请求,这样倒是可以解决问题。

zhou-hao commented 2 months ago

需要调整一下协议包处理。 https://github.com/jetlinks/jetlinks-official-protocol/blob/37378a6a4935aa73e5aa4a337e552d575bd617e0/src/main/java/org/jetlinks/protocol/official/http/JetLinksHttpDeviceMessageCodec.java#L65-L68